Druckerstatus in Excel abfragen
Schritt-für-Schritt-Anleitung
Um den Druckerstatus in Excel abzufragen, kannst Du den folgenden VBA-Code verwenden. Dieser Code überprüft, ob der angegebene Netzwerkdrucker eingeschaltet und bereit ist.
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Klicke auf Einfügen
und dann auf Modul
, um ein neues Modul zu erstellen.
-
Füge den folgenden Code in das Modul ein:
Sub Druckerstatus()
Dim objPrinter As Object
Dim objItem As Object
Dim drucker As String, gefunden As Boolean
drucker = "\\SRWAG001\ls-plotter"
gefunden = False
Set objPrinter = GetObject("winmgmts:\\.\root\cimv2").ExecQuery("Select * from Win32_Printer")
For Each objItem In objPrinter
If objItem.Name = drucker Then
gefunden = True
If objItem.WorkOffline = True Then
MsgBox "Bitte den Drucker einschalten!!"
Exit For
End If
End If
Next
If gefunden = False Then
MsgBox "Drucker " & drucker & " nicht installiert!"
End If
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Führe das Makro aus, um den Status des Druckers abzufragen.
Häufige Fehler und Lösungen
-
Fehler: "Drucker nicht installiert!"
- Ursache: Der angegebene Druckername ist falsch oder der Drucker ist nicht im Netzwerk verfügbar.
- Lösung: Überprüfe den Druckernamen auf Schreibfehler und stelle sicher, dass der Drucker im Netzwerk richtig konfiguriert ist.
-
Fehler: WorkOffline gibt FALSCH zurück, obwohl der Drucker aus ist
- Ursache: Möglicherweise gibt es ein Problem mit der Netzwerkverbindung oder der Druckertreiber.
- Lösung: Überprüfe die Verbindung zum Drucker und aktualisiere den Druckertreiber.
Alternative Methoden
Eine alternative Methode zur Abfrage des Druckerstatus könnte die Verwendung von Windows PowerShell sein. Hier ein Beispiel, wie Du den Druckerstatus mit PowerShell abfragen kannst:
Get-WmiObject -Query "SELECT * FROM Win32_Printer WHERE Name='\\SRWAG001\ls-plotter'" | Select-Object Name, WorkOffline
Du kannst diese Methode nutzen, um den Status in einer Windows-Skripting-Umgebung zu überprüfen.
Praktische Beispiele
Hier sind einige praktische Beispiele, wie Du den Druckerstatus abfragen kannst:
-
Lokaler Drucker
- Verwende den gleichen Code, aber ändere den Druckernamen auf den lokalen Druckernamen (z.B.
"Druckername"
).
-
Drucker im Netzwerk
- Stelle sicher, dass Du den vollständigen Netzwerkpfad angibst (z.B.
\\DEIN_SERVER\Druckername
).
Tipps für Profis
- Verwende Fehlerbehandlungsroutinen in Deinem VBA-Code, um unerwartete Fehler abzufangen und den Code robuster zu gestalten.
- Du kannst den Druckerstatus auch in Excel-Zellen anzeigen, anstatt nur über
MsgBox
zu informieren. Dies kann hilfreich sein, um mehrere Druckerstatus gleichzeitig zu überwachen.
Beispiel:
Cells(1, 1).Value = "Druckerstatus: " & IIf(objItem.WorkOffline, "Offline", "Online")
FAQ: Häufige Fragen
1. Frage
Warum funktioniert der Code nicht für meinen Netzwerkdrucker?
Antwort: Überprüfe, ob der Drucker im Netzwerk verfügbar ist und ob der Druckername korrekt eingegeben wurde. Möglicherweise ist auch der Druckertreiber nicht richtig installiert.
2. Frage
Kann ich den Druckerstatus auch ohne VBA abfragen?
Antwort: Ja, Du kannst den Druckerstatus auch über Windows PowerShell abfragen, wie im Abschnitt "Alternative Methoden" beschrieben.