VBS PDF drucken
Hallo zusammen,
eins vorweg - ich bin gespannt, ob es für mein Problem eine Lösung gibt.
Aufgabenstellung:
In einem Netzwerk Ordner sind PDF Dateien, die automatisch gedruckt werden sollen. Das VBS läuft als Dienst im Hintergrund. Die PDF Dateien werden automatisch auf dem Standardrucker gedruckt. Dies alles funktioniert jeduch nur, wenn ein Benutzer angemeldet ist. Sobald der User sich abmeldet, werden die PDF-Dokument zwar noch geduckt, jedoch nicht mehr auf dem richtigen Drucker. Irgend was bringt das System da durcheinander.
Meine Frage daher - wie kann ich per VBS eine PDF Datei drucken und den Druckername angeben? Danke!
kleiner Auszug aus dem Skript
set objShell = CreateObject("WScript.Shell")
iErrorCode = objShell.Run("AcroRd32.exe /p /h " & objitem.path)
eins vorweg - ich bin gespannt, ob es für mein Problem eine Lösung gibt.
Aufgabenstellung:
In einem Netzwerk Ordner sind PDF Dateien, die automatisch gedruckt werden sollen. Das VBS läuft als Dienst im Hintergrund. Die PDF Dateien werden automatisch auf dem Standardrucker gedruckt. Dies alles funktioniert jeduch nur, wenn ein Benutzer angemeldet ist. Sobald der User sich abmeldet, werden die PDF-Dokument zwar noch geduckt, jedoch nicht mehr auf dem richtigen Drucker. Irgend was bringt das System da durcheinander.
Meine Frage daher - wie kann ich per VBS eine PDF Datei drucken und den Druckername angeben? Danke!
kleiner Auszug aus dem Skript
set objShell = CreateObject("WScript.Shell")
iErrorCode = objShell.Run("AcroRd32.exe /p /h " & objitem.path)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 154023
Url: https://administrator.de/contentid/154023
Ausgedruckt am: 23.11.2024 um 03:11 Uhr
3 Kommentare
Neuester Kommentar
Moin,
Du mußt das anders lösen....
Der druckt zu 100% auf den Standarddrucker (siehe auch Andreas Antwort)
Gruß
per VBS eine drucken und den Druckername angeben
Du mußt das anders lösen....
Der druckt zu 100% auf den Standarddrucker (siehe auch Andreas Antwort)
- xyz im Script ist der Drucker, auf dem gedruckt werden soll und den stellst du so als Standarddrucker ein.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Name = 'xyz'")
For Each objPrinter in colInstalledPrinters
objPrinter.SetDefaultPrinter()
Next
set objShell = CreateObject("WScript.Shell")
iErrorCode = objShell.Run("AcroRd32.exe /p /h " & objitem.path)
Gruß
Hallo mixmastertobsi!
Andere Möglichkeit in etwa so:
Gruß Dieter
Andere Möglichkeit in etwa so:
Const AcrobatReader = """C:\Program Files (x86)\Adobe\Reader 9.0\Reader\AcroRd32.exe"" /t ""%1"""
Const PrinterDriver = """C:\Windows\System32\Drivers\UsbPrint.sys"""
Const PrinterName = """Canon MX850 Series Printer"""
Const PrinterPort = """USB002"""
Dim objShell, CmdLine
Set objShell = CreateObject("WScript.Shell")
CmdLine = AcrobatReader & " " & PrinterName & " " & PrinterDriver & " " & PrinterPort
objShell.Run Replace(CmdLine, "%1", objItem.path)
Gruß Dieter