Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Per Batch bzw. VBS eine Word Datei auf bestimmten Drucker drucken

Frage Entwicklung VB for Applications

Mitglied: Mikefield

Mikefield (Level 1) - Jetzt verbinden

05.11.2009, aktualisiert 21:50 Uhr, 10665 Aufrufe, 8 Kommentare

ohne den Standarddrucker zu verändern

Biber hat hier eine Lösung eingestellt, um eine Word Datei per VBS direkt an einem Drucker auszugeben:

01.
' -----------------snipp PrintADoc.vbs Biber 2007 
02.
If WScript.Arguments.Count < 1 Then 
03.
	WScript.Echo("Syntax: PrintADoc.vbs Worddatei.doc [Druckername]" ) 
04.
	WScript.Quit 
05.
End If 
06.
 
07.
strFile = WScript.Arguments(0) 
08.
 
09.
Set objWord = WScript.CreateObject("Word.Application") 
10.
If WScript.Arguments.Count = 1 Then 
11.
   objWord.ActivePrinter = Wscript.Arguments(1) 
12.
end if    
13.
objWord.Documents.Open strFile 
14.
objWord.ActiveDocument.PrintOut 
15.
 
16.
Wscript.Sleep(0815) 
17.
 
18.
objWord.ActiveDocument.Close 
19.
objWord.Quit 
20.
' -----------------snapp PrintADoc.
Der Aufruf erfolgt bei mir wie folgt:

01.
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
Mitglied: bastla
05.11.2009 um 21:58 Uhr
Hallo Mikefield!

Versuch es mit folgender Zeile 10:
If WScript.Arguments.Count > 1 Then
bzw hinsichtlich "Setzen des Standarddruckers" mit einem Zwischenspeichern des bisherigen Standarddruckers am Anfang des Scripts
StdDrucker = objWord.ActivePrinter
und dem Rücksetzen nach dem Ausdruck
objWord.ActivePinter = StdDrucker
Grüße
bastla
Bitte warten ..
Mitglied: Mikefield
05.11.2009 um 23:05 Uhr
Hallo Bastla!

Die Zeile
01.
StdDrucker = objWord.ActivePrinter
erzeugt leider folgenden Fehler: Word_Print.vbs(6, 1) Laufzeitfehler in Microsoft VBScript: Objekt erforderlich: 'objWord'
Das mit dem > 1 Then hat funktioniert!

mf
Bitte warten ..
Mitglied: bastla
05.11.2009 um 23:13 Uhr
Hallo Mikefield!

Sorry - "Anfang des Scripts" war nur grundsätzlich gemeint ...

Da das "objWord"-Objekt erst in Zeile 9 erzeugt wird, kann es natürlich erst danach verwendet werden - die von Dir zitierte Zeile kann daher zB unmittelbar nach Zeile 9 platziert werden.

Grüße
bastla
Bitte warten ..
Mitglied: Mikefield
10.11.2009 um 20:23 Uhr
Hallo Bastla!

Bin leider erst heute dazu gekommen, das ganze noch einmal durch zu spielen.
Das Zurücksetzen des Druckers wird mit einer Fehlermeldung abgewiesen:
Word_Print.vbs(21, 1) Laufzeitfehler in MicrosoftVBScript: Das Objekt unterstützt
diese Eigenschaft oder Methode nicht.: 'objWord.ActivePinter'
Ich hatte den entsprechenden Befehl zum Zurücksetzen in Zeile 15 eingefügt.

mf
Bitte warten ..
Mitglied: Biber
10.11.2009 um 21:05 Uhr
Moin Mikefield,

Word_Print.vbs(21, 1) Laufzeitfehler in MicrosoftVBScript: Das Objekt unterstützt
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
Bitte warten ..
Mitglied: Mikefield
10.11.2009 um 21:16 Uhr
Mahlzeit, Bastla!

Also damit hätte ich jetzt wirklich nicht gerechnet! Bin ich aber voll in die Falle getappt!
Nur gut, daß das Original auch so heißt! Hast wohl Deine Plaktikantin schreiben lassen.
Natürlich funktioniert es jetzt!.

Herzlichst
mf
Bitte warten ..
Mitglied: bastla
10.11.2009 um 21:18 Uhr
Hallo Mikefield!
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 ...
Bitte warten ..
Mitglied: Biber
10.11.2009 um 21:35 Uhr
Moin bastla,

lichtig, lichtig.... ist sich ja ein kleines Plopelty.....

Bin da noch nicht ganz bibelfest..

Danke
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Per Batch eine XLS-Datei in eine TXT-Datei umwandeln (5)

Frage von skiing69 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch soll an einem bestimmten Datum eine Website öffnen (3)

Frage von Yanmai zum Thema Batch & Shell ...

Batch & Shell
gelöst In einer Batch variable die Datei extension ermitteln ? (4)

Frage von Kriegstreiber zum Thema Batch & Shell ...

Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Neue Wissensbeiträge
Microsoft

Restrictor: Profi-Schutz für jedes Window

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (16)

Frage von Hajo2006 zum Thema LAN, WAN, Wireless ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (15)

Frage von marshall75000 zum Thema Router & Routing ...

Microsoft Office
Saubere HTML aus Word-Dokument (15)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...