Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
668to672
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
668to672
668to672
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ermittlung der installierten Drucker mit VBA

Ermittlung der installierten Drucker mit VBA
21.09.2005 21:20:05
Martin
Hallo Forum
Ich möchte an mehreren unterschiedlichen Rechnern die installierten Druckertreiber via VBA ermitteln. Als Ergebnis soll im Tabellenblatt "Tabelle 1" eine Auflistung stehen.
z.B.:
"SnagIt 6 auf Ne00:"
"hp deskjet 990c series auf Ne01:"
"FreePDF XP auf Ne02:"
Wie kann ich das ermitteln ?
Für eure Hilfe bedanke ich mich bereits im voraus.
Gruss
Martin

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ermittlung der installierten Drucker mit VBA
21.09.2005 21:27:48
K.Rola
Hallo,
Option Explicit
Sub Alle_Drucker()
Dim objWMI As Object, colPrinters As Object, objPrinter As Object
Dim intPrinters
Set objWMI = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & "." & "\root\cimv2")
Set colPrinters = objWMI.ExecQuery _
("Select * from Win32_PrinterConfiguration")
For Each objPrinter In colPrinters
intPrinters = intPrinters + 1
Sheets("Tabelle1").Cells(intPrinters, 1) = objPrinter.Name
Next
End Sub
Gruß K.Rola

AW: Ermittlung der installierten Drucker mit VBA
21.09.2005 22:03:00
Martin
Hallo K.Rola
Super
Habe das Macro bereits an 2 Rechnern ausprobiert. Dabei fällt mir jedoch auf, das der Anhang " auf Ne00:", " auf Ne01:" ... fehlt ! Wenn kein Drucker am LPT hängt kann ich es einfach aufsteigend anhängen. Das Problem: Wann ist ein Drucker am LPT ? Gibt es dazu noch Möglichkeiten dieses genauer zu ermitteln ?
Gruss
Martin
Anzeige
Zusatzfrage: Port
22.09.2005 09:00:56
Rolf
Hallo K.Rola,
geht in Spalte B auch noch der entsprechende Port?
Herzliche Grüße
Rolf
AW: Zusatzfrage: Port
22.09.2005 12:01:56
K.Rola
Hallo,
geht alles und noch viel mehr:
Option Explicit
Private Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" ( _
ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long) As Long
Private Const MP = 16
Private sName(MP) As String
Private sDriver(MP) As String
Private sPort(MP) As String
Private iCount As Integer
Sub Printer_List()
Dim sBuf As String, i As Integer
sBuf = Space$(8192)
GetProfileString "PrinterPorts", vbNullString, "", sBuf, Len(sBuf)
GetName sBuf
GetPort
For i = 0 To iCount
Tabelle1.Cells(i + 1, 1) = sName(i)
Tabelle1.Cells(i + 1, 2) = sPort(i)
Tabelle1.Cells(i + 1, 3) = sDriver(i)
Next
End Sub
Private Sub GetName(ByVal sBuf As String)
Dim i As Integer, stName As String
iCount = 0
Do
i = InStr(sBuf, Chr(0))
If i > 0 Then
stName = Left$(sBuf, i - 1)
If Len(Trim$(stName)) > 0 Then
sName(iCount) = Trim$(stName)
iCount = iCount + 1
End If
sBuf = Mid$(sBuf, i + 1)
Else
If Len(Trim$(sBuf)) > 0 Then
sName(iCount) = Trim$(sBuf)
iCount = iCount + 1
End If
sBuf = ""
End If
Loop While (i > 0) And (iCount < MP)
End Sub
Private Sub GetPort()
Dim sBuf As String
Dim i As Integer
For i = 0 To iCount - 1
sBuf = Space$(1024)
GetProfileString "PrinterPorts", sName(i), "", sBuf, Len(sBuf)
GetDr_Port sBuf, sDriver(i), sPort(i)
Next
End Sub
Private Sub GetDr_Port(ByVal bf As String, dn As String, pp As String)
Dim iD As Integer, iP As Integer
dn = ""
pp = ""
iD = InStr(bf, ",")
If iD > 0 Then
dn = Left$(bf, iD - 1)
iP = InStr(iD + 1, bf, ",")
If iP > 0 Then
pp = Mid$(bf, iD + 1, iP - iD - 1)
End If
End If
End Sub
Gruß K.Rola

Anzeige
AW: Zusatzfrage: Port
22.09.2005 14:09:29
Rolf
Hallo K.Rola,
danke für deine Lösung.
Angesichts meiner dir bekannten API-Abneigung,
hatte ich natürlich auf eine WMI-Lösung gehofft.
Aber wat nich is, dat is nich.
Herzliche Grüße
Rolf
AW: Ermittlung der installierten Drucker mit VBA
21.09.2005 22:22:43
Martin
Hallo René
Danke für den Link.
Gruss
Martin
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge