Solved

VBScript Remove Printer not working

Posted on 2009-07-15
8
3,007 Views
Last Modified: 2012-05-07
I have a script for a while now, which runs when a user logs on.
It adds printers and sets the default. Users are running Windows XP.

Now I want to remove a printer, but I can't get it work.
When I try
objNetwork.RemoveWindowsPrinterConnection strUNCPrinter
I get the error
"Object doesn't support this property or method:RemoveWindowsPrinterConnection"

This happens no matter which printer I try to remove, so its not an error in my printername.
Any ideas?
Option Explicit
 

Dim objnetwork, strUNCPrinter
 

Set objNetwork = CreateObject("WScript.Network")
 

' This works

strUNCPrinter = "\\myprinterserver\W4-HPLJP3005"

objNetwork.AddWindowsPrinterConnection strUNCPrinter

objNetwork.SetDefaultPrinter strUNCPrinter
 

' This doesn't

strUNCPrinter = "\\myprinterserver\W3-HPLJ4200"

objNetwork.RemoveWindowsPrinterConnection strUNCPrinter
 

Set objNetwork = Nothing

Open in new window

0
Comment
Question by:jdhackett
  • 4
  • 4
8 Comments
 
LVL 6

Expert Comment

by:ou_dober
ID: 24860969
I noticed that objNetwork.RemoveWindowsPrinterConnection should be objNetwork.RemovePrinterConnection.  Give that a try.

Option Explicit
 

Dim objnetwork, strUNCPrinter
 

Set objNetwork = CreateObject("WScript.Network")
 

strUNCPrinter = "\\myprinterserver\W4-HPLJP3005"

objNetwork.AddWindowsPrinterConnection strUNCPrinter

objNetwork.SetDefaultPrinter strUNCPrinter
 

strUNCPrinter = "\\myprinterserver\W3-HPLJ4200"

objNetwork.RemovePrinterConnection strUNCPrinter
 

Set objNetwork = Nothing

Open in new window

0
 
LVL 1

Author Comment

by:jdhackett
ID: 24861082
Thanks. RemovePrinterConnection does work.
However, it will give an error if the printer if already removed.
How can I do error handling, so that this message is suppressed?
0
 
LVL 6

Expert Comment

by:ou_dober
ID: 24861118
Add this after Line 6 to the code provided above.

On Error Resume Next

On Error GoTo 0

Open in new window

0
 
LVL 1

Author Comment

by:jdhackett
ID: 24861414
Is there an err.escription like in normal vb?
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 6

Expert Comment

by:ou_dober
ID: 24861678
jdhackett,

I am not clear on what you are asking.  Are you wanting to display an error message?
0
 
LVL 1

Author Comment

by:jdhackett
ID: 24867396
Sorry, I could have put that a lot better!
I'd still like an error message displayed if there is an issue when the printers are added.
So that the user will call me and I can investigate.
However, I don't want the message when I'm removing printers.
Is there a way to do that? Thanks for your great help so far.
0
 
LVL 6

Accepted Solution

by:
ou_dober earned 500 total points
ID: 24873867
Just put the error suppression after the adding of the printer. I also added a error message that can be changed if the default printer does not install.  Is that better?  :)

ou_dober

Option Explicit

 

Dim objnetwork, strUNCPrinter

 

Set objNetwork = CreateObject("WScript.Network")

 

strUNCPrinter = "\\myprinterserver\W4-HPLJP3005"

objNetwork.AddWindowsPrinterConnection strUNCPrinter

objNetwork.SetDefaultPrinter strUNCPrinter

    If Err.Number Then

        Wscript.Echo "W4-HPLJP3005 could not be installed"

        Err.Clear

    End If
 
 

On Error Resume Next

On Error GoTo 0

 

strUNCPrinter = "\\myprinterserver\W3-HPLJ4200"

objNetwork.RemovePrinterConnection strUNCPrinter

 

Set objNetwork = Nothing

Open in new window

0
 
LVL 1

Author Comment

by:jdhackett
ID: 24876592
Great work!
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

I met Paul Devereux (@pdevereux) today when I responded to his tweet asking “Anybody know how to automate adding files from disk to a folder in #outlook  ?”.  I replied back and told Paul that using automation, in this case scripting, to add files t…
Introduction During my participation as a VBScript contributor at Experts Exchange, one of the most common questions I come across is this: "I have a script that runs against only one computer. How can I make it run against a list of computers in …
This tutorial demonstrates a quick way of adding group price to multiple Magento products.
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now