Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
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
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige