VBScript Remove Printer not working

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

LVL 1
jdhackettAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
ou_doberConnect With a Mentor Commented:
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
 
ou_doberCommented:
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
 
jdhackettAuthor Commented:
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
Learn to develop an Android App

Want to increase your earning potential in 2018? Pad your resume with app building experience. Learn how with this hands-on course.

 
ou_doberCommented:
Add this after Line 6 to the code provided above.

On Error Resume Next
On Error GoTo 0

Open in new window

0
 
jdhackettAuthor Commented:
Is there an err.escription like in normal vb?
0
 
ou_doberCommented:
jdhackett,

I am not clear on what you are asking.  Are you wanting to display an error message?
0
 
jdhackettAuthor Commented:
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
 
jdhackettAuthor Commented:
Great work!
0
All Courses

From novice to tech pro — start learning today.