none
access 2010 Msgbox printer offline

    Frage

  • verwendet wird windows 7 und access 2010.

    Ziel ist es eine MSGbox zu erhalten, wenn der printer offline ist.

    Die bisher im Netz gefundenen Vorschläge brigen immer nur ein Ergebnis, egal ob der Drucker eingeschaltet oder ausgeschaltet ist.

    Donnerstag, 4. Oktober 2012 09:16

Antworten

Alle Antworten

  • Hallo!

    Am 04.10.2012 11:16, schrieb ble1a:

    Ziel ist es eine MSGbox zu erhalten, wenn der printer offline ist.

    schau mal bitte, ob Dich dieser Code weiterbringt:
    http://www.vbarchiv.net/tipps/details.php?id=1228
     HTH


    Thomas

    Homepage: www.Team-Moeller.de

    Freitag, 5. Oktober 2012 15:32
  • Leider meckert der Debugger schon bei

      With ListView1.ColumnHeaders
        .Add , , "Printer", 3600
        .Add , , "Status", 1800
      End With
     

    Samstag, 6. Oktober 2012 20:14
  • Hallo!

    Am 06.10.2012 22:14, schrieb ble1a:

    Leider meckert der Debugger schon bei
       With ListView1.ColumnHeaders
         .Add , , "Printer", 3600
         .Add , , "Status", 1800
       End With

    diese Anweisung auf der Webseite hattest Du gesehen:
     >>Platzieren Sie anschließend ein ListView-Control
    auf die Form und darunter einen CommandButton.<<
     CU


    Thomas

    Homepage: www.Team-Moeller.de

    Sonntag, 7. Oktober 2012 08:49
  • Hallo,

    ble1a wrote:

    Ziel ist es eine MSGbox zu erhalten, wenn der printer offline ist.

    Die bisher im Netz gefundenen Vorschläge brigen immer nur ein Ergebnis,
    egal ob der Drucker eingeschaltet oder ausgeschaltet ist.

    Folgende Prozedur springt an, wenn der Printer zwar ein-, aber in der Print-Queue offline geschaltet ist:

    Public Sub Check_Printer()
     Dim objWMI As Object
     Dim objItem As Object
    
     Set objWMI = GetObject("winmgmts:\\.\root\cimv2") _
         .ExecQuery("Select * from Win32_Printer")
     For Each objItem In objWMI
         If objItem.WorkOffline = True Then
             MsgBox "Drucker " & objItem.Name & " ist offline.", vbOKOnly
         End If
     Next objItem
    
     Set objItem = Nothing
     Set objWMI = Nothing
    End Sub

    Gruss - Peter


    Mitglied im http://www.dbdev.org
    FAQ: http://www.donkarl.com

    Sonntag, 7. Oktober 2012 19:44
    Moderator
  • Hallo Thomas,

    du hast es erkannt, ich habe nur ein Listenfeld genommen. Mit dem ListView funktunktioniert es bis zu:

     ListView1.View = lvwReport

    Des Debugger meint, dass die Varable nicht definert sei.

    Komentiere ich die Zeile aus und betätigte den Button, werden die Druckerzustände nicht angezeigt,es scheint als würde nichts passieren.

    Mittwoch, 17. Oktober 2012 11:12
  • Danke werde ich ausprobieren.

    Gibt es eine Möglichkeit, anzuzeigen wenn der Drucker ausgeschaltet ist?

    Mittwoch, 17. Oktober 2012 11:14
  • Hallo,

    ble1a wrote:

    Gibt es eine Möglichkeit, anzuzeigen wenn der Drucker ausgeschaltet ist?

    Ich denke nicht, keine Ahnung. Hier sind alle Win32_Printer Eigenschaften
    gelistet:

    http://msdn.microsoft.com/en-us/library/windows/desktop/aa394363%28v=vs.85%29.aspx

    Gruss - Peter


    Mitglied im http://www.dbdev.org
    FAQ: http://www.donkarl.com

    Mittwoch, 17. Oktober 2012 13:41
    Moderator
  • Habe es hingekriegt, vielen Dank!
    Mittwoch, 17. Oktober 2012 21:47
  • Hallo,

    leider startet bei der Verwendung eines AktiveX-ListView der der Windows-Installer was nicht abstellen lässt. Darum veriuche die den Code von

    http://www.vbarchiv.net/tipps/details.php?id=1228

    mit einem Listenfeld mit Datensatzherkunft "Werteliste2, Mherfachauswahl erweitert, zu realisieren. Eine Liste der Drucker kriege ich in ein Listenfeld. Nun möchte in den Inhalt in eine Variable auslesen, um weiter arbeiten zu können .

    Ich probierte es so

    Dim ar() As String
    Dim Count As Integer, i As Integer, j As Integer
    Dim lngCount As Long
    
    For lngCount = 0 To Me!ListView1.ListCount - 1
            Me!ListView1.Selected(lngCount) = True
        Next lngCount
    
    Count = 0
    
    For i = 0 To ListView1.ListCount - 1
       
        If ListView1.Selected(i) Then Count = Count + 1
    Next i
    
    
    ReDim ar(Count)
    
    j = 0
    For i = 0 To ListView1.ListCount - 1
        If ListView1.Selected(i) Then
              Me.ListView1.Column(1, i) = ar(j)
            j = j + 1
        End If
    Next i
    
    
    For i = 0 To Count - 1
    Debug.Print ar(i)
        MsgBox ar(i)
    
    Next i

    Der Debugger markiert : Me.ListView1.Column(1, i) = ar(j)

    Die Fehlermeldung lautet: Laufzeitfehler 424, Objekt erforderlich.


    • Bearbeitet ble1a Freitag, 12. September 2014 11:02
    Freitag, 12. September 2014 11:00