Druckerauswahl in Word 97 über VBA

Hallo,

ich möchte gerne meine unterschiedlichen Drucker über eine Schaltfläche schnell auswählen können.

Wie muss der Code hierfür aussehen? In WordBasic war das gar kein Problem, aber jetzt klappt’s irgendwie nicht.

Vielen Dank und viele Grüße,
Alexandra

Hallo

was hattest Du denn für WordBasic Code? Normalerweise sollte der ziemlich einfach zu konvertieren sein. Ist ausserdem auch einfacher als den Code neu zu schreiben :wink:

Gruss

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

das ist mir schon klar. Der konvertierte Code sieht folgendermaßen aus:

Public Sub MAIN()
'Auswahl des gew. Druckers
WordBasic.FilePrintSetup Printer:=„Oce Repro Center an NE00:“, DoNotSetAsSysDefault:=1
'Drucken
WordBasic.FilePrint AppendPrFile:=0, Range:=„0“, PrToFileName:="", From:="", To:="", Type:=0, NumCopies:=„1“, Pages:="", Order:=0, PrintToFile:=0, Collate:=1, FileName:=""
'Alten Drucker wieder einstellen
WordBasic.FilePrintSetup Printer:="\GL\kv-hpbox-hplj5p-r224a_35 an NE01:", DoNotSetAsSysDefault:=1
'Schließen
WordBasic.DocClose
End Sub

Nur leider funktioniert er nicht, weil, soweit ich weiß, das Printer-Objekt nicht in VBA verfügbar ist.

Ich dachte, dass da jemand vielleicht einen schlauen Trick für mich auf Lager hat…

Viele Grüße,
Alexandra

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Public Sub MAIN()
'Auswahl des gew. Druckers
WordBasic.FilePrintSetup Printer:=„Oce Repro Center an NE00:“,
DoNotSetAsSysDefault:=1
'Drucken
WordBasic.FilePrint AppendPrFile:=0, Range:=„0“,
PrToFileName:="", From:="", To:="", Type:=0, NumCopies:=„1“,
Pages:="", Order:=0, PrintToFile:=0, Collate:=1, FileName:=""
'Alten Drucker wieder einstellen
WordBasic.FilePrintSetup
Printer:="\GL\kv-hpbox-hplj5p-r224a_35 an NE01:",
DoNotSetAsSysDefault:=1
'Schließen
WordBasic.DocClose
End Sub

Nur leider funktioniert er nicht, weil, soweit ich weiß, das
Printer-Objekt nicht in VBA verfügbar ist.

Also:
Die neue Methode heisst „PrintOut“. Diese kann auf ein Application, Document oder ein Window Objekt angewendet werden. Mit der „ActivePrinter“ Eigenschaft kannst Du den Drucker festlegen. Die Parameter der „PrinOut“ Methode schaust du am besten in der Help nach :wink:

Pseudocode für Dein Problem:

Public Sub MyPrint()
ActiveDocument.ActivePrinter = „Mein neuer aktiver Drucker“
ActiveDocument.PrintOut (Parameter 1-1000) :smile:
ActiveDocument.ActivePrinter = „Mein vorheriger Drucker“
ActiveDocument.Close
End Sub

Alles klar?

Gruss