37414
Goto Top

Visual Basic (Word 2016) - Code für alternativen Drucker

Hallo,

ich habe für die Nutzung eines virtuellen Druckers für E-Post folgenden Makro-Code, der grds. auch funktioniert:

Sub D_ePost()
'  
    ActiveDocument.Save
    ActivePrinter = "E-POSTBUSINESS BOX Printer"  
    Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _  
        wdPrintDocumentWithMarkup, Copies:=1, Pages:="", PageType:= _  
        wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
        PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
        
    ActivePrinter = "AidA_PDF"  
    ' ActiveDocument.Close  
    ' Word.Application.Quit  
End Sub

Da dieses Makro (Word 2016) funktioniert leider nicht ganz korrekt über den Terminalserver (für Homeoffice).
Da erhalte ich immer eine Debug-Meldung in Bezug auf die Zeile "ActivePrinter = "AidA_PDF".

Nun würde ich gerne einen alternativen Drucker in den Code aufnehmen.
Also wenn Drucker 1 nicht funktioniert, bzw. gefunden wird, dann soll er Drucker 2 nehmen.

Wie würde dazu der Code lauten?

Danke und Gruß,
imebro

Content-Key: 563414

Url: https://administrator.de/contentid/563414

Printed on: April 20, 2024 at 09:04 o'clock

Member: tomolpi
tomolpi Apr 06, 2020 at 08:23:35 (UTC)
Goto Top
Moin,

also ich bin jetzt kein VBA-Experte, aber du könntest das doch notfalls einfach mit try/catch abfangen, und dann den anderen Drucker nehmen...
Sicher lässt sich das noch schöner regeln, aber für den Anfang face-wink

LG

tomolpi
Mitglied: 37414
37414 Apr 06, 2020 at 08:35:01 (UTC)
Goto Top
Hallo und danke für die Antwort.

Ich bin noch weniger VBA-Experte und kann mit Deiner Angabe "try/catch" noch weniger anfangen face-smile
Den Code habe ich nicht selbst geschrieben.

Hat noch jemand einen Tipp? Vielleicht auch mit dem passenden Code-Schnipsel? ;)

Gruß,
imebro
Mitglied: 143728
Solution 143728 Apr 06, 2020 updated at 09:30:24 (UTC)
Goto Top
' ...  
On Error Resume Next
ActivePrinter = "AidA_PDF"  
if Err.Number <> 0 then
    Err.Clear
    ActivePrinter = "BlaBlub"  
end if
'...  
Mitglied: 37414
37414 Apr 06, 2020 at 09:46:31 (UTC)
Goto Top
Vielen Dank für den Code.
Habe ihn jetzt eingesetzt und bin gespannt, ob es so jetzt funktioniert face-smile

Gruß,
imebro
Mitglied: 37414
37414 Apr 08, 2020 at 06:28:48 (UTC)
Goto Top
Soweit ich alles beurteilen kann, hat es mit dem Code funktioniert.
Jedenfalls gab es keine Fehlermeldung mehr face-smile

Thread wäre dann gelöst. Vielen Dank.

Gruß,
imebro