Autor Tema: Listar impresoras  (Leído 2391 veces)

Desconectado xavi

  • Administrador
  • Habitual
  • *****
  • Mensajes: 200
Listar impresoras
« en: Octubre 10, 2012, 02:34:40 pm »
Palabras clave: listar, impresoras, WSH
Autor: Juan M. Afán de Ribera (Happy) / Junio 2003
Extraído de: La web del Búho

Objetivo:
Rutina que lista en la ventana inmediato las impresoras instaladas en el sistema.
Me gustaría comentar lo fácil que es hacer esto con WSH, a diferencia de las versiones de Access anteriores a la 2002 (XP), en donde había que echar mano del API de Windows.

Código: [Seleccionar]

'*********** Código ***************
'
' Impresoras
'
' Rutina que lista en la ventana
' inmediato las impresoras insta-
' ladas en el sistema.
'
' Me gustaría comentar lo fácil
' que es hacer esto con WSH, a
' diferencia de las versiones de
' Access anteriores a la 2002 (XP),
' en donde había que echar mano del
' API de Windows.
'
' Autor: Juan M. Afán de Ribera
' Fecha: Junio 2003
'
Sub Impresoras()
Dim wshNetwork As Object 'WshNetwork
Dim Printers As Object 'WshCollection
Dim i As Integer

    Set wshNetwork = CreateObject("WScript.Network")
    Set Printers = wshNetwork.EnumPrinterConnections

    For i = 1 To Printers.Count - 1 Step 2
        Debug.Print "Impresora: " & Printers.Item(i)
        Debug.Print "Puerto: " & Printers.Item(i - 1)
    Next
   
    Debug.Print "Número total de impresoras instaladas: " & Printers.Count / 2
   
    Set Printers = Nothing
    Set wshNetwork = Nothing
   
End Sub
'********** Fin código ************