Microsoft Excel

Herbers Excel/VBA-Archiv

ActivePrinter


Betrifft: ActivePrinter von: Hannes
Geschrieben am: 30.11.2017 22:09:00

Liebes Forum,

der Windows Standarddrucker ist "Standarddrucker auf Ne00:" Wenn ich folgendes Makro in Excel _ ausführe wird Tabelle1 auf dem Drucker "Belegdrucker" ausgedruckt und anschließend wieder der "Standarddrucker" aktiviert. Allerdings wird der "Standarddrucker" nur als ausgewählter Drucker (aktuell in Excel) und nicht als Windows-Standarddrucker aktiviert, was zur Folge hat, dass wenn ich nach dem Ausführen des Scriptes Excel verlasse der "Belegdrucker" als Windows-Standarddrucker verbleibt.

Sub Belegdruck()
    ActivePrinter = "Belegdrucker auf Ne01:"
    Sheets("Tabelle1").PrintOut
    ActivePrinter = "Standarddrucker auf Ne00:"
End Sub

Im Gegensatz dazu führt folgendes Makro in Word ausgeführt dazu, dass das aktuelle Dokument auf _ dem "Belegdrucker" ausgedruckt wird und anschließend der "Standarddrucker" wieder persistent als Standarddrucker aktiviert wird.
Sub Belegdruck()

    ActivePrinter = "Belegdrucker"
    Application.PrintOut
    ActivePrinter = "Standarddrucker"
End Sub

Wie muss ich, dass Excel-Makro verändern, dass nach der Ausführung der "Standarddrucker" ebenfalls wieder persistent als solcher verbleibt?

  

Betrifft: AW: ActivePrinter von: onur
Geschrieben am: 02.12.2017 13:08:13

Sub Belegdruck()
  Dim sDruckerAktuell As String
  'Aktuellen Drucker merken
  sDruckerAktuell = Application.ActivePrinter
  ActivePrinter = "Belegdrucker auf Ne01:"
  Sheets("Tabelle1").PrintOut
  Application.ActivePrinter = sDruckerAktuell
End Sub