Aktiven Drucker in Excel anzeigen und verwalten
Schritt-für-Schritt-Anleitung
-
Öffne Excel und drücke ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
-
Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen
> Modul
.
-
Kopiere den folgenden Code in das Modul:
Sub machDruck()
Dim strActP As String
strActP = Application.ActivePrinter
If MsgBox("Ihr aktiver Drucker ist: " & strActP & vbLf & _
"Möchten Sie die Druckaufträge mit diesem Drucker ausführen?", _
vbInformation + vbYesNo, "Drucken") = vbNo Then
Application.Dialogs(xlDialogPrinterSetup).Show
End If
ActiveSheet.PrintOut
Application.ActivePrinter = strActP
End Sub
-
Führe das Makro aus: Schließe den VBA-Editor und drücke ALT + F8
, wähle machDruck
und klicke auf Ausführen
.
Dieser Code zeigt eine MsgBox mit dem aktiven Drucker an und fragt, ob die Druckaufträge fortgeführt werden sollen. Bei Auswahl von "Nein" öffnet sich die Druckereinrichtung
.
Häufige Fehler und Lösungen
-
Problem: Druck wird trotz "Abbrechen" in der Druckereinrichtung fortgesetzt.
- Lösung: Stelle sicher, dass der
blnPrint
-Boolean korrekt gesetzt wird, um den Druckvorgang zu steuern. Siehe Anpassung im Code:
Dim blnPrint As Boolean
blnPrint = True
If MsgBox(...) = vbNo Then
blnPrint = Application.Dialogs(xlDialogPrinterSetup).Show
End If
If blnPrint Then
ActiveSheet.PrintOut
End If
Alternative Methoden
Eine einfache Methode, den aktiven Drucker anzuzeigen, ist die Verwendung eines minimalen VBA-Codes:
Sub Drucker()
MsgBox Application.ActivePrinter
End Sub
Diese Methode ist nützlich, wenn du lediglich den aktuellen Drucker anzeigen möchtest, ohne weitere Interaktionen.
Praktische Beispiele
Hier sind einige praktische Beispiele, wie du den aktiven Drucker in verschiedenen Szenarien verwenden kannst:
-
Druckaufträge basierend auf Zellenwerten:
Sub DruckeXmal()
Dim intAnz As Integer
intAnz = Worksheets("Erfassung").Range("AC344").Value
ActiveSheet.PrintOut Copies:=intAnz
End Sub
-
Letzte Druckaufträge anzeigen:
Du kannst auch eine Liste der letzten Druckaufträge anzeigen, indem du den vba drucker auslesen
-Befehl in einer Schleife implementierst, um Druckerhistorie zu verwalten.
Tipps für Profis
- Nutze
Application.ActivePrinter
, um den aktuell aktiven Drucker dynamisch auszulesen und anzupassen.
- Speichere deine VBA-Skripte in einer personalisierten Excel-Vorlage, um sie jederzeit griffbereit zu haben.
- Experimentiere mit der
Excel Druckereinrichtung beim Öffnen
-Option, um den Drucker automatisch zu setzen, bevor du mit dem Drucken beginnst.
FAQ: Häufige Fragen
1. Wie kann ich meinen Drucker in Excel ändern?
Du kannst die Druckereinrichtung über Application.Dialogs(xlDialogPrinterSetup).Show
aufrufen. Dies öffnet das Druckereinrichtungsfenster.
2. Warum wird der Druckauftrag nicht gestoppt, wenn ich auf "Abbrechen" klicke?
Stelle sicher, dass du die blnPrint
-Variable korrekt verwendest, um den Druckbefehl nur auszuführen, wenn der Benutzer zustimmt.
3. Gibt es eine Möglichkeit, mehrere Kopien eines Arbeitsblatts zu drucken?
Ja, du kannst die Anzahl der Kopien über den Copies
-Parameter im PrintOut
-Befehl festlegen, wie im Beispiel oben gezeigt.