Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Drucker nicht vorhanden, dann Meldung

Betrifft: Drucker nicht vorhanden, dann Meldung von: Kurt
Geschrieben am: 22.07.2008 12:33:55

Hallo Zusammen,
ich möchte gern eine Fehlermeldung ausgeben, Msgbox, wenn kein Drucker
angeschlossen ist.
Sowohl vor Ort oder auch Netzwerkdrucker,
geht das ?

gruß kurt

  

Betrifft: EnumPrinterConnections von: ransi
Geschrieben am: 22.07.2008 12:57:28

HAllo Kurt

Teste mal sowas:

Option Explicit

Public Sub Drucker_auslesen()
Dim WSHNetwork As Object
Dim Alle_Drucker
Dim I As Integer
Set WSHNetwork = CreateObject("WScript.Network")
Set Alle_Drucker = WSHNetwork.EnumPrinterConnections
If Alle_Drucker.Count = 0 Then
    MsgBox "Kein Drucker angeschlossen"
    Exit Sub
    Else:
    For I = 0 To Alle_Drucker.Count - 1 Step 2
        Debug.Print Alle_Drucker.Item(I + 1) & "-->" & Alle_Drucker.Item(I)
    Next
End If
End Sub


ransi


  

Betrifft: Hallo Ransi, habe Drucker ... von: Kurt
Geschrieben am: 22.07.2008 14:10:16

Hallo Ransi,
habe Drucker abgelkemmt also Kabel vom PC raus.
Es kommt leider nicht die Druckfehlmeldung, im Druckermenü sind die Drucker
noch hinterlegt.
Was muß ich jetzt machen ?
gruß Kurt


  

Betrifft: AW: Hallo Ransi, habe Drucker ... von: ransi
Geschrieben am: 22.07.2008 14:30:45

HAllo Kurt


Was muß ich jetzt machen ?


Erstmal ein genauso dummes Gesicht wie ich.
Kann ich nicht erklären.
;-)


Ausserdem kannst du noch versuchen ob hiervon etwas brauchen kannst:

Public Sub Noch_Mehr_Infos()
'Angepasst
'Original ist von Nepumuk ???
Dim objWMI As Object, objItem As Object, I, c As Long
Dim b As Integer
b = 1
Set objWMI = GetObject("winmgmts:\\.\root\cimv2"). _
    ExecQuery("Select * from Win32_Printer")
On Error Resume Next
For Each objItem In objWMI
    b = b + 1
    For Each I In objItem.properties_
            c = c + 1
        Cells(c, 1) = I.Name
        Cells(c, b) = I.Value
    Next
    c = 0
Next
Set objWMI = Nothing
End Sub


Public Sub ander_Infos()
Dim objWMI As Object, objItem As Object, I, c As Long, b As Integer
Set objWMI = GetObject("winmgmts:\\.\root\cimv2"). _
    ExecQuery("Select * from Win32_PrinterConfiguration")
On Error Resume Next
For Each objItem In objWMI
    b = b + 1
    For Each I In objItem.properties_
            c = c + 1
        Cells(c, 1) = I.Name
        Cells(c, b) = I.Value
    Next
    c = 0
Next
Set objWMI = Nothing
End Sub



Starte die Proceduren in 2 verschiedenen leeren Blättern.
Evtl. kann jemand da noch etwas rauslesen.

Ich weiss nicht mehr weiter.

ransi


  

Betrifft: Leider kein Erfolg von: Kurt
Geschrieben am: 22.07.2008 14:58:30

Hallo Ransi,
danke für die beiden Makro, leider keine Verwendung, es werden nur
die Daten der Drucker aufgelistet etc. .
Gibt es den keine Möglichkeit zu prüfen ob das Kabel im PC
angeschlossen ist ?

gruß Kurt


  

Betrifft: Hallo habe dies gefunden, klappt aber noch nicht von: Kurt
Geschrieben am: 22.07.2008 15:44:33

Hallo Ransi,
habe dies gefunden, klappt leider noch nicht, vielleicht hast Du den durchblick.

Sub Drucker()
   'If Application.ActivePrinter Like ("Un*") Then
   '     MsgBox "Kein Drucker angeschlossen!"
   'Else
   '     MsgBox "Drucker vorhanden !"
   'End If
'---------- und dies ---------------------------------
 If GetStdPrinterName = "" Then
    MsgBox "Kein Drucker gefunden!"
 Else
    MsgBox "Drucker vorhanden !"
 End If

End Sub



gruß kurt


 

Beiträge aus den Excel-Beispielen zum Thema "Drucker nicht vorhanden, dann Meldung"