Per Batch bzw. VBS eine Word Datei auf bestimmten Drucker drucken
ohne den Standarddrucker zu verändern
Biber hat hier eine Lösung eingestellt, um eine Word Datei per VBS direkt an einem Drucker auszugeben:
Der Aufruf erfolgt bei mir wie folgt:
Leider funktioniert hier die Auswahl des Druckers über den Parameter (1) nicht. Wenn ich ihn direkt hinter
"objWord.ActivePrinter = " eintrage, funktioniert es. Allerdings wird dieser Drucker auch gleich als Standarddrucker
gesetzt, was ich nicht möchte. Gibt es hierzu eine Lösung?
mf
Biber hat hier eine Lösung eingestellt, um eine Word Datei per VBS direkt an einem Drucker auszugeben:
' -----------------snipp PrintADoc.vbs Biber 2007
If WScript.Arguments.Count < 1 Then
WScript.Echo("Syntax: PrintADoc.vbs Worddatei.doc [Druckername]" )
WScript.Quit
End If
strFile = WScript.Arguments(0)
Set objWord = WScript.CreateObject("Word.Application")
If WScript.Arguments.Count = 1 Then
objWord.ActivePrinter = Wscript.Arguments(1)
end if
objWord.Documents.Open strFile
objWord.ActiveDocument.PrintOut
Wscript.Sleep(0815)
objWord.ActiveDocument.Close
objWord.Quit
' -----------------snapp PrintADoc.
Der Aufruf erfolgt bei mir wie folgt:
cscript //nologo D:\Scripts\Word_Print.vbs "D.\Meine Dateien Beispiel.doc" "Wunsch Drucker"
Leider funktioniert hier die Auswahl des Druckers über den Parameter (1) nicht. Wenn ich ihn direkt hinter
"objWord.ActivePrinter = " eintrage, funktioniert es. Allerdings wird dieser Drucker auch gleich als Standarddrucker
gesetzt, was ich nicht möchte. Gibt es hierzu eine Lösung?
mf
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 128765
Url: https://administrator.de/contentid/128765
Ausgedruckt am: 23.11.2024 um 03:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo Mikefield!
Versuch es mit folgender Zeile 10:
bzw hinsichtlich "Setzen des Standarddruckers" mit einem Zwischenspeichern des bisherigen Standarddruckers am Anfang des Scripts
und dem Rücksetzen nach dem Ausdruck
Grüße
bastla
Versuch es mit folgender Zeile 10:
If WScript.Arguments.Count > 1 Then
StdDrucker = objWord.ActivePrinter
objWord.ActivePinter = StdDrucker
bastla
Moin Mikefield,
Und wenn du statt der Methode .ActivePinter die Alternativ-Methode .ActivePrinter nimmst?
oder .ActivePlintel, wie meine mandeläugige chinesische Plaktikantin zu sagen pflegt...
Grüße
Biber
Word_Print.vbs(21, 1) Laufzeitfehler in MicrosoftVBScript: Das Objekt unterstützt
diese Eigenschaft oder Methode nicht.: 'objWord.ActivePinter'
diese Eigenschaft oder Methode nicht.: 'objWord.ActivePinter'
Und wenn du statt der Methode .ActivePinter die Alternativ-Methode .ActivePrinter nimmst?
oder .ActivePlintel, wie meine mandeläugige chinesische Plaktikantin zu sagen pflegt...
Grüße
Biber
Hallo Mikefield!
@Biber
Danke für's Nachbessern ...
Grüße
bastla
P.S.: Konsequenter Weise würde ich .ActivePinter dann aber nicht "Methode", sondern "Poperty" nennen ...
Hast wohl Deine Plaktikantin schreiben lassen.
Ne ne, solchen Blödsinn mach' ich schon selbst (außerdem sind die Praktikantinnen alle für Biber reserviert ).@Biber
Danke für's Nachbessern ...
Grüße
bastla
P.S.: Konsequenter Weise würde ich .ActivePinter dann aber nicht "Methode", sondern "Poperty" nennen ...