Drucker in Excel auswählen und verwalten
Schritt-für-Schritt-Anleitung
Um in Excel den Drucker auszuwählen und direkt über VBA zu steuern, kannst du folgende Schritte befolgen:
-
VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Modul einfügen: Klicke mit der rechten Maustaste auf dein Projekt im Projekt-Explorer, gehe zu Einfügen und wähle Modul.
-
Code einfügen: Füge den folgenden Code in das Modul ein:
Sub DruckerAuswählen()
Dim Drucker As String
Drucker = Application.ActivePrinter ' Aktuellen Drucker speichern
' Drucker ändern
Application.ActivePrinter = "Aloaha PDF Drucker"
' Bereich drucken
Range("$B$3:Total").PrintOut
' Zurücksetzen auf den ursprünglichen Drucker
Application.ActivePrinter = Drucker
End Sub
-
Makro ausführen: Schließe den VBA-Editor und führe das Makro über Entwicklertools > Makros aus.
Häufige Fehler und Lösungen
Alternative Methoden
Eine einfachere Methode, um den Drucker auszuwählen, ist die Verwendung eines Dialogfeldes:
Sub DruckerDialog()
Application.Dialogs(9).Show ' Druckerdialog anzeigen
Range("$B$3:Total").PrintOut ' Auswahl drucken
End Sub
Praktische Beispiele
-
Drucker ohne Dialogfeld auswählen:
Sub PDFDrucken()
Dim Drucker As String
Drucker = Application.ActivePrinter
Application.ActivePrinter = "Adobe PDF"
Range("$B$3:Total").PrintOut
Application.ActivePrinter = Drucker ' Ursprünglichen Drucker zurücksetzen
End Sub
-
Drucker mit Variable:
Sub DruckerMitVariable()
Dim DruckerName As String
DruckerName = "Aloaha PDF Drucker"
Application.ActivePrinter = DruckerName
Selection.PrintOut
End Sub
Tipps für Profis
- Nutze
Debug.Print Application.ActivePrinter, um den aktuell aktiven Drucker im Direktfenster anzuzeigen. Dies hilft dir, den genauen Namen des Druckers zu ermitteln.
- Du kannst auch die
WSHNetwork-Objekte verwenden, um Drucker dynamisch auszuwählen, was besonders nützlich ist, wenn mehrere Drucker im Netzwerk vorhanden sind.
FAQ: Häufige Fragen
1. Wie kann ich den Standarddrucker in Excel festlegen?
Um den Standarddrucker in Excel festzulegen, kannst du den Befehl Application.ActivePrinter = "Druckername" verwenden, wobei "Druckername" der Name deines gewünschten Druckers ist.
2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der bereitgestellte VBA-Code sollte in den meisten Versionen von Excel funktionieren, jedoch kann die Benennung der Drucker je nach Windows-Version variieren. Achte darauf, den korrekten Namen zu verwenden.
3. Kann ich mehrere Drucker in einem Makro verwenden?
Ja, du kannst in einem Makro mehrere Drucker ansprechen, indem du verschiedene Application.ActivePrinter-Zuweisungen vornimmst und die entsprechenden Druckaufträge durchführst.