dr-freak
Goto Top

VBScript, mehrere Dateien auf einem speziellen Windows-Drucker ausgeben (Druckername im Script angeben)

Das folgende Script habe ich aus einem älteren Beitrag in diesem Forum kopiert. Leider weiß ich nicht, wie es mir möglich ist, die Ausgabe auf einen speziellen Windows-Drucker (z.B. HP 2014) zu leiten. Die Druckausgabe erfolgt bisher immer auf dem Windows-Standarddrucker. Ich hoffe, dass mir irgendwer helfen kann. Danke!!!

'PrintAll.vbs
sSourceFolder = "P:\"
If WScript.Arguments.Count > 0 Then
sSourceFolder = WScript.Arguments(0)
End If
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(sSourceFolder) Then
WScript.Echo "Ordner " & sSourceFolder & " nicht verfügbar!"
WScript.Quit(2)
Else
bPrintetd = False
Set oShellApp = WScript.CreateObject("Shell.Application")
For Each oFile In fso.GetFolder(sSourceFolder).Files
If InstrRev(oFile.Name, ".") Then
If LCase(Mid(oFile.Name, InstrRev(oFile.Name, "."))) = ".pdf" Then
oShellApp.ShellExecute oFile.Path, "", "", "print", 0
bPrinted = True
WScript.Sleep(5180)
End If
End If
Next
Set oShellApp = Nothing
If Not bPrinted Then
WScript.Echo "Kein Dokument zum Drucken gefunden!"
WScript.Quit(1)
End If
End If

Content-ID: 147095

Url: https://administrator.de/forum/vbscript-mehrere-dateien-auf-einem-speziellen-windows-drucker-ausgeben-druckername-im-script-angeben-147095.html

Ausgedruckt am: 17.04.2025 um 19:04 Uhr

Berrnd
Berrnd 17.07.2010 um 19:55:06 Uhr
Goto Top
Hi,

also die konkrete Antwort auf deine Frage hab ich nicht.
Als Workaround könntest du aber einfach zuvor den Standardrucker ändern und danach wieder zurückstellen.
Hier ein kurzes Beispiel zum Standarddrucker setzen:
Set WMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")  

Set colDrucker =  WMIService.ExecQuery("SELECT * FROM Win32_Printer WHERE Name = 'DeinDruckerName'")  
For Each Drucker in colDrucker
    Drucker.SetDefaultPrinter()
Next
Gruß
Bernd
Dr-Freak
Dr-Freak 17.07.2010 um 20:39:46 Uhr
Goto Top
Danke für die Antwort. Die Lösung ist zwar nicht so ganz sauber aber ersteinmal nutzbar, falls keiner eine andere Idee hat.

Gruß
Frank