Mostrar lista de impresoras en el combobox en el userform

arobase_GDM -  
cs_Le Pivert Mensajes publicados 8437 Estado Colaborador -

<font size="2">Hola a todos</font>

Tengo un pequeño problema con una macro.

De hecho, cuando ejecuto mi macro, la lista de impresoras aparece en un combobox de un userform:

Nombre de la impresora en PORTPROMPT:
Nombre de la impresora en SHRFAX:
Nombre de la impresora en USB002
Nombre de la impresora en USB001
...ETC...

Mi deseo es que la lista aparezca como sigue:

Nombre de la impresora en Ne0..:
Nombre de la impresora en Ne0..:
Nombre de la impresora en Ne0..:
Nombre de la impresora en Ne0..:
...ETC...

Aquí está el código que estoy utilizando

'...………………………………………………………………………………………………………………………………………………………………..
 

Sub LISTA_IMPRESORA() Dim NomPC, Printer As String Dim ObjPrinter, ColInstalledPrinters, ObjWMiService As Object Dim i As Integer NomPC = "." Set ObjWMiService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & NomPC & "\root\cimv2") Set ColInstalledPrinters = ObjWMiService.ExecQuery("select * from win32_printer") For Each ObjPrinter In ColInstalledPrinters With Userform1 .ComboBox1.AddItem ObjPrinter.Name & " en " & ObjPrinter.PortName End With Next End Sub


'...………………………………………………………………………………………………………………………………………………………………..

Gracias de antemano

5 respuestas

  1. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   Embajador 1 588
     

    hola, ¿de dónde viene este Ne0?

    0
  2. Arobase_GDM
     

    Es el nombre del puerto en el sistema del pc donde se encuentra cada impresora

    0
    1. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
       

      ¿Puedes ser más preciso: a qué corresponde exactamente este nombre?

      0
  3. Arobase_GDM
     

    Me explico

    Cuando ejecuto la macro, los nombres de las impresoras se muestran, por ejemplo

    HP Deskjet 2700 serie en PORTPROMPT:

    en lugar de

    HP Deskjet 2700 serie en Ne05:

    como yo deseo

    0
    1. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
       

      ¿De dónde sale este Ne05? ¿Qué significa? ¿Dónde puedes verlo en tu ordenador?

      0
  4. Arobase_GDM
     

    El Ne05 proviene de esta Macro cuando se lanza

    Sub Nombre_Impresora ( )

     Dim NombrePC, Impresora As String Dim ObjImpresora, ColImpresorasInstaladas, ObjWMiServicio As Object Dim i As Integer NombrePC = "." Set ObjWMiServicio = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & NombrePC & "\root\cimv2") Set ColImpresorasInstaladas = ObjWMiServicio.ExecQuery("select * from win32_printer")

    objImpresora = Application.activePrinter

    Userform1.Combobox1.text = objImpresora

     'Application.activePrinter=Userform1.Combobox1.text

    End sub

    0
    1. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
       

      No veo Ne05.

      0
  5. cs_Le Pivert Mensajes publicados 8437 Estado Colaborador 731
     

    Hola,

    encontrarás tu respuesta AQUÍ


    0