• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Code om printerpoort te achterhalen

Status
Niet open voor verdere reacties.

Norman Scheuter

Gebruiker
Lid geworden
30 sep 2008
Berichten
124
Hallo,

Wij hebben een code om de printernaam te achterhalen.
Is het mogelijk om ook de printerpoort uit te lezen met een vba?

Dit is nu de code.

Code:
Sub CollectPrinters()
    Dim sComputer As String, I&
    Dim objWMIService As Object, objListPrinters As Object, objPrinter As Object
 
    sComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
                                  & "{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")
 
    Set objListPrinters = objWMIService.ExecQuery _
                               ("Select * from Win32_Printer")
    I = 1
    For Each objPrinter In objListPrinters
        I = I + 1
        Cells(I, 1).Value = objPrinter.Name
    Next
End Sub

Mvg Norman
 
Code:
Sub M_snb_printers()
  For Each pr In CreateObject("Wscript.network").EnumPrinterConnections
    If c01 = "" Then
      c01 = pr
    Else
      c00 = c00 & vbLf & pr & " on " & c01
      c01 = ""
    End If
  Next
  
  MsgBox c00
End Sub
 
Beste Snb,

Dank je voor je snelle actie.
Hoe roep ik deze code aan, als ik er met F8 doorheen loop gebeurt er niks.

Kan ik deze ook combineren met mijn eigen code?

Mvg groet Norman
 
Er moet in ieder geval een berichtvenster verschijnen.
F5 is voldoende.
De code is ter vervaning van 'jouw' code.
 
Hoi Snb,

Inderdaad, krijg een popup venster...
Weet je misschien ook de vba om de Ne0 poort voor de dag te toveren, ipv het Ip adres?

Mvg. Norman
 
Dat doet de code die ik plaatste; per regel de tekst achter 'on '.
Plaats anders een schermafdruk van het berichtvenster.
 
Nog een duit:

Code:
Sub M_snb()
  Set sh = CreateObject("wscript.shell")
  c00 = "HKCU\software\Microsoft\Windows NT\Currentversion\Devices\"
  
  For Each pr In CreateObject("Wscript.network").EnumPrinterConnections
    If InStr(pr, " ") Then c02 = c02 & vbLf & pr & " on " & Replace(sh.regread(c00 & pr), "winspool,", "")
  Next
  
  MsgBox c02
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan