Mostrar lista de impresoras en el combobox en el userform
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
-
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención Embajador 1 588
hola, ¿de dónde viene este Ne0?
-
-
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
-
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
-