Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

alle Printer auslesen

Forumthread: alle Printer auslesen

alle Printer auslesen
04.12.2006 21:07:31
matthias
Hallo,
ich suche nach einer Möglichkeit alle verfügbaren Drucker auszulesen.
Hintergrund ist, dass sich in unserem Netzwerk die Druckernamen häufig ändern, so daß fix codierte Namen nicht funktionieren.
Vielen Dank für Hinweise!
Gruß
Matthias
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: alle Printer auslesen
ransi
Hallo MAtthias
Hilft dir dieser codeschnipsel weiter ?


Public Sub Drucker_ports_auslesen()
Dim WshNetwork
Dim oPrinters
Dim i As Integer
Set WshNetwork = CreateObject("WScript.Network")
Set oPrinters = WshNetwork.EnumPrinterConnections
For i = 0 To oPrinters.Count - 1 Step 2
    Debug.Print oPrinters.Item(i + 1)
Next
End Sub


ransi
Anzeige
Vielen Dank!!!! o.T.
04.12.2006 21:45:47
matthias
....
Ransi - bitte doch noch eine Frage
04.12.2006 23:04:47
matthias
Hallo Ransi,
wie ich gerade festelle, wird zwar der Name ausgelesen, jedoch nicht der Anschluß wie z.B. "Acrobat PDFWriter auf LPT1:". Da sich jedoch die Anschlußkennungen ändern bräuchte ich etwas um diese im Zusammenhang mit dem Druckernamen änder zu können.
Kannst Du mir nochmal helfen?
Danke.
Matthias
Anzeige
AW: Ransi - bitte doch noch eine Frage
04.12.2006 23:51:28
ramses
Hallo
probiers mal so als Funktion

Sub StartPrinterInfo()
MsgBox Get_Printer("LaserJet", "USB")
End Sub

"LaserJet" der Name des installierten Druckers
"USB" sollte an einem USB-Port installiert sein, alternativ auch "LPT1" wenn er dort installiert ist

Function Get_Printer(myPrinter As String, myPort As String) As String
Dim WshNetwork As Object
Dim instPrinters As Object
Dim i As Integer
Dim tmpPrinter As String
Set WshNetwork = CreateObject("WScript.Network")
Set instPrinters = WshNetwork.EnumPrinterConnections
For i = 0 To instPrinters.Count - 1 Step 2
tmpPrinter = instPrinters.Item(i + 1) & " an " & instPrinters.Item(i)
Debug.Print tmpPrinter
If InStr(1, tmpPrinter, myPrinter) > 0 And InStr(1, tmpPrinter, myPort) > 0 Then
Get_Printer = tmpPrinter
Exit Function
End If
Next
Get_Printer = "Not Found"
End Function

Zurück bekommst du den String, an dem der Drucker installiert ist.
Gruss Rainer
Anzeige
Super! Danke! o.T.
05.12.2006 09:12:01
matthias
...
AW: Ransi - bitte doch noch eine Frage
ransi
hallo Matthias
Ich habe leider nur einen Drucker und bin nicht im Netzwerk.
Bei meinem einen Drucker funzt das.
Kannst du dies mal testen ob das auch im Netzwerk geht:


Option Explicit
Public Sub Drucker_ports_auslesen()
Dim WshNetwork
Dim oPrinters
Dim i As Integer
Set WshNetwork = CreateObject("WScript.Network")
Set oPrinters = WshNetwork.EnumPrinterConnections
For i = 0 To oPrinters.Count - 1 Step 2
    Debug.Print oPrinters.Item(i) & " --> " & oPrinters.Item(i + 1)
Next
End Sub


ransi
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige