Makro einen bestimmten Drucker zuordnen
Schritt-für-Schritt-Anleitung
Um in Excel ein Makro zu erstellen, das einen bestimmten Drucker zuordnet, folge diesen Schritten:
-
Öffne den VBA-Editor:
- Drücke
ALT + F11
, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" und wähle "Einfügen" > "Modul".
-
Kopiere den folgenden Code in das Modul:
Sub Privatwäsche15()
Dim aktPrinter As String, newPrinter As String
aktPrinter = Application.ActivePrinter
newPrinter = Find_Drucker("Epson LQ-680 ESC/P 2*")
If newPrinter <> "" Then
Application.ActivePrinter = newPrinter
ActiveSheet.PageSetup.PrintArea = "$A$3:$C$31"
ActiveSheet.PrintOut
Application.ActivePrinter = aktPrinter
Else
MsgBox "Drucker Epson LQ-680 ESC/P 2 nicht gefunden"
End If
End Sub
Function Find_Drucker(LikeName As String) As String
Const HKEY_current_user = &H80000001
Dim oReg As Object, i As Long
Dim strKeyPath As String, strValue As String
Dim arrPrinter As Variant
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
strKeyPath = "Software\Microsoft\Windows NT\CurrentVersion\Devices"
oReg.EnumValues HKEY_current_user, strKeyPath, arrPrinter
For i = 0 To UBound(arrPrinter)
If arrPrinter(i) Like LikeName Then
oReg.GetStringValue HKEY_current_user, strKeyPath, arrPrinter(i), strValue
Find_Drucker = arrPrinter(i) & Replace(strValue, "winspool,", " auf ")
Exit Function
End If
Next
Set oReg = Nothing
End Function
-
Speichere dein Makro und schließe den VBA-Editor.
-
Führe das Makro aus:
- Du kannst das Makro über die Registerkarte "Entwicklertools" oder mit der Tastenkombination
ALT + F8
ausführen.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du den Drucker nicht über VBA auswählen möchtest, kannst du die Druckereinstellungen auch manuell in Excel festlegen:
- Gehe zu "Datei" > "Drucken".
- Wähle den gewünschten Drucker aus der Dropdown-Liste aus.
- Klicke auf "Drucken".
Eine andere Möglichkeit ist die Verwendung von Excel-Druckvorlagen, bei denen du das gewünschte Druckerprofil speichern kannst.
Praktische Beispiele
Hier sind einige Anwendungsbeispiele für die Verwendung des Codes:
-
Drucke einen bestimmten Bericht auf einen speziellen Drucker:
Du kannst das Makro anpassen, um unterschiedliche Berichte je nach Bedarf an verschiedene Drucker zu senden.
-
Automatisiere den Druckprozess:
Erstelle ein Makro, das regelmäßig Druckaufträge an einen bestimmten Drucker sendet, z. B. für wöchentliche Statusberichte.
Tipps für Profis
- Verwende
DoEvents
, um sicherzustellen, dass Excel Zeit hat, die Druckaufträge korrekt zu verarbeiten, insbesondere bei großen Dokumenten.
- Halte deinen Code modular, indem du Funktionen schreibst, die wiederverwendbar sind, um die Wartbarkeit zu erhöhen.
- Teste deine Makros in einer Sicheren Umgebung, um sicherzustellen, dass sie wie gewünscht funktionieren, ohne wichtige Daten zu verlieren.
FAQ: Häufige Fragen
1. Kann ich mehrere Drucker in einem Makro verwenden?
Ja, du kannst den Code erweitern, um mehrere Drucker auszuwählen, indem du Bedingungen hinzufügst, die den richtigen Drucker basierend auf deinem Bedarf auswählen.
2. Muss ich den Drucker jedes Mal neu festlegen?
Nicht unbedingt. Solange der Drucker aktiv ist und in deinem System erkannt wird, kannst du den Drucker einmal festlegen und dann den Druckbefehl verwenden.
3. Was mache ich, wenn mein Drucker nicht in der Liste angezeigt wird?
Stelle sicher, dass der Drucker installiert und als aktiv markiert ist. Gehe zu den Druckereinstellungen deines Betriebssystems und überprüfe, ob der Drucker korrekt eingerichtet ist.