Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Druckerfach wählen

VBA Druckerfach wählen
06.09.2017 10:59:56
Dieter
Hallo Excelperten,
ist es möglich, per VBA beim Standard-Drucker ein anderes Druckfach zu wählen?
Irgendwo habe ich mal gelesen, dass das nicht möglich sei, weil es in Excel-VBA kein Drucker-Objekt gäbe. Stimmt das?
Gruß
Dieter
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Druckerfach wählen
06.09.2017 11:06:42
RPP63
Moin!
Ja, das stimmt.
Du kannst Dir aber einen "neuen" Drucker mit den entsprechenden Einstellung unter Windows anlegen und diesen dann zum Ausdruck ansprechen.
Gruß Ralf
AW: VBA Druckerfach wählen
06.09.2017 11:24:34
Dieter
Danke Dir, Ralf.
An diese Lösung hatte ich auch schon gedacht, hatte aber die Hoffnung auf eine Lösung per VBA.
Schade!
Dieter
Anzeige
Wo ist das Problem?
06.09.2017 11:34:01
RPP63
Gib dem "Ersatzdrucker" einen sprechenden Namen wie Kyocera_Fach_2
aktiviere ihn mal kurz
lese den korrekten Namen mittels ?ActivePrinter im Direktfenster aus
setze den Standarddrucker wieder aktiv
und steuere den "Ersatzdrucker" wie folgt an:
Sub Druck()
Dim actPrinter$
actPrinter = ActivePrinter
Tabelle1.PrintOut ActivePrinter:="Kyocera_Fach_2 auf Ne03:"
ActivePrinter = ActivePrinter
End Sub
Gruß Ralf
Anzeige
AW: Wo ist das Problem?
06.09.2017 11:47:22
Dieter
Danke für diesen Tipp.
Aber müsste die letzte Zeile für das Zurücksetzen nicht lauten "ActivePrinter = actPrinter"?
Natürlich! ;-) owT
06.09.2017 11:50:23
RPP63
.
AW: VBA Druckerfach wählen
06.09.2017 11:12:22
Bernd
Hi,
eventuell hilft das hier weiter:
http://michael-schwimmer.de/vba099.htm
MfG Bernd
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Druckerfach in Excel per VBA auswählen


Schritt-für-Schritt-Anleitung

Um ein alternatives Druckerfach per VBA auszuwählen, kannst du folgende Schritte befolgen:

  1. Ersatzdrucker erstellen: Lege in Windows einen neuen Drucker mit dem gewünschten Druckfach an, z.B. "Kyocera_Fach_2".

  2. Namen des aktiven Druckers auslesen: Nutze den Befehl ?ActivePrinter im Direktfenster, um den aktuellen Druckernamen auszulesen.

  3. VBA-Code erstellen: Erstelle ein neues Modul in Excel und füge den folgenden Code ein:

    Sub Druck()
       Dim actPrinter$
       actPrinter = ActivePrinter
       Tabelle1.PrintOut ActivePrinter:="Kyocera_Fach_2 auf Ne03:"
       ActivePrinter = actPrinter
    End Sub
  4. Druckauftrag ausführen: Führe das Makro aus, um den Druckvorgang mit dem definierten Druckfach zu starten.


Häufige Fehler und Lösungen

  • Fehler: Der Druckauftrag wird nicht an den richtigen Drucker gesendet.

    • Lösung: Überprüfe den Namen des Druckers in deinem VBA-Code. Achte darauf, dass der Name exakt mit dem in Windows registrierten Drucker übereinstimmt.
  • Fehler: ActivePrinter wird nicht zurückgesetzt.

    • Lösung: Stelle sicher, dass die letzte Zeile des Codes korrekt ist. Sie sollte lauten: ActivePrinter = actPrinter.

Alternative Methoden

Eine alternative Methode, um das Druckerfach auszuwählen, besteht darin, den Drucker direkt in den Druckeinstellungen von Windows zu konfigurieren. Hier kannst du die Standardeinstellungen für das gewählte Druckfach festlegen, sodass der Druckauftrag automatisch an das gewünschte Fach gesendet wird.


Praktische Beispiele

Hier ist ein Beispiel, wie du ein Druckfach für verschiedene Dokumente steuern kannst:

Sub DruckUebersicht()
    Dim actPrinter$
    actPrinter = ActivePrinter
    ' Druckauftrag für das erste Druckfach
    Tabelle1.PrintOut ActivePrinter:="Kyocera_Fach_1 auf Ne03:"
    ' Druckauftrag für das zweite Druckfach
    Tabelle2.PrintOut ActivePrinter:="Kyocera_Fach_2 auf Ne03:"
    ActivePrinter = actPrinter
End Sub

In diesem Beispiel werden zwei Tabellen ausgedruckt, jeweils aus unterschiedlichen Druckfächern.


Tipps für Profis

  • Benennung: Gib deinen Ersatzdruckern sprechende Namen, die direkt auf das Druckfach hinweisen, um Verwirrung zu vermeiden.
  • Testdruck: Teste den Druckauftrag mit einer kleinen Datenmenge, bevor du große Dokumente druckst.
  • Fehlerprotokollierung: Implementiere eine einfache Fehlerprotokollierung im Code, um Probleme beim Drucken schnell zu identifizieren.

FAQ: Häufige Fragen

1. Kann ich mehrere Drucker mit verschiedenen Fächern ansteuern?
Ja, du kannst mehrere Ersatzdrucker erstellen und in deinem VBA-Code entsprechend ansteuern.

2. Ist diese Methode in allen Excel-Versionen anwendbar?
Die beschriebenen VBA-Methoden sind in Excel 2010 und späteren Versionen verfügbar. Achte darauf, dass deine Excel-Version VBA unterstützt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige