Vous êtes sur la page 1sur 6

Establecer y cambiar la impresora predeterminada http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual...

Inicio Ejemplos vb Ocx - Activex Api vb Tutoriales - Manuales Código fuente

vb.net

Sección de códigos ,
trucos y ejemplos para visual
basic

113 - Establecer y cambiar la impresora


predeterminada
<Volver> - Anterior - Siguiente

Contenido :

Cambiar la impresora con el

objeto Printers

Establecer la impresora

predeterminada con WMI

Abrir cuadro de diálogo

Asistente para añadir

impresoras de windows

Enlaces relacionados

Establecer la impresora en nuestro programa.


Aquí se Utiliza el objeto Printers de Visual basic para establecer la impresora que
se usará para imprimir desde nuestro programa.

El siguiente código de ejemplo, lista en un Listox las impresoras que hay en


windows, y al presionar un CommandButton establece la impresora que se usará
para la impresión.

Formulario

1 de 6 21/01/2010 3:19 PM
Establecer y cambiar la impresora predeterminada http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual...

Pasos para el ejemplo

Colocar un control ListBox


un CommandButton
un textbox

Luego seleccionar la impresora a usar y escribir un texto de prueba en el textbox

Código fuente en el formulario

2 de 6 21/01/2010 3:19 PM
Establecer y cambiar la impresora predeterminada http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual...

Texto plano Imprimir

1. Option Explicit
2.
3. ' Colocar un List1 y un Command1
4. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
5. Private Sub Command1_Click()
6.
7. If List1.ListIndex <> -1 Then
8. Call Establecer(List1.Text)
9. MsgBox "Se usará la impresora: " & _
10. Printer.DeviceName & " para imprimir el texto", vbInformation
11.
12. ' imprime el texto de prueba en la impresora seleccionada en List1
13. Printer.Print Text1
14. Printer.EndDoc
15. End If
16. End Sub
17.
18. Private Sub Form_Load()
19. Command1.Caption = " Aceptar "
20. Obtener_Impresoras
21. End Sub
22.
23. Public Function Obtener_Impresoras()
24.
25. Dim i As Integer
26. ' recorre las impresoras del sistema y las añade a la lista
27. For i = 0 To Printers.Count - 1
28. List1.AddItem Printers(i).DeviceName
29. Next
30.
31. End Function
32.
33. Public Function Establecer(Nombre_Impresora As String)
34.
35. Dim Prt As Printer
36. ' Establece la impresora que se utilizará para imprimir
37. For Each Prt In Printers
38. If Prt.DeviceName = Nombre_Impresora Then
39. Set Printer = Prt
40. End If
41. Next
42. End Function

Cambiar la impresora predeterminada con WMI


En el siguiente código se utiliza Wmi ( Windows Management Instrumentatiion )
para cambiar la impresora predeterminada del sistema.

Aquí se listan en un control Listbox las impresoras que haya en el sistema y


mediante una simple función que utiliza un objeto de tipo WScript.Network,
podemos cambiar y establecer la impresora predeterminada, es decir la que se
seleccione de la lista.

El método que establece la Impresora se llama SetDefaultPrinter . Para listar


las impresoras en el control List1, se recorre en un For-Each la colección Printer y
se agrega el nombre con la propiedad DeviceName

Colocar un control List1 y un Command1 como está en la imagen:

3 de 6 21/01/2010 3:19 PM
Establecer y cambiar la impresora predeterminada http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual...

Código en un formulario:

Texto plano Imprimir

1. Private Function Establecer_Impresora(ByVal NamePrinter As String) As


2. On Error GoTo errSub
3.
4. 'Variable de referencia
5. Dim obj_Impresora As Object
6.
7. 'Creamos la referencia
8. Set obj_Impresora = CreateObject("WScript.Network")
9. obj_Impresora.setdefaultprinter NamePrinter
10.
11. Set obj_Impresora = Nothing
12.
13. 'La función devuelve true y se cambió con éxito
14. Establecer_Impresora = True
15. MsgBox "La impresora se cambió correctamente", vbInformation
16. Exit Function
17.
18.
19. 'Error al cambiar la impresora
20. errSub:
21. If Err.Number = 0 Then Exit Function
22. Establecer_Impresora = False
23. MsgBox "error: " & Err.Number & Chr(13) & "Description: " & Err.Description
24. On Error GoTo 0
25. End Function
26.
27. Private Sub Command1_Click()
28. 'Le enviamos la impresora que se encuentre seleccionada en el control List1
29. If List1.Selected(List1.ListIndex) Then
30. Establecer_Impresora List1
31. End If
32. End Sub
33.
34. Private Sub Form_Load()
35. Dim x As Printer, impr As String
36.
37. 'Listamos en el control List1 las impresoras instaladas
38. For Each x In Printers
39. List1.AddItem x.DeviceName
40. Next
41.
42. Command1.Caption = " Seleccionar la impresora y establecer como predeterminada "
43.
44. End Sub

4 de 6 21/01/2010 3:19 PM
Establecer y cambiar la impresora predeterminada http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual...

Nota: Con Windows Scripting Host Object Model, además de poder establecer la
impresora predeterminada , se pueden realizar algunas otras cosas , como por
ejemplo enumerar y obtener las unidades de red como también mapear y
eliminar una unidad . y Enumerar , eliminar y agregar impresoras de red

Para ello debemos agregar la referencia anteriormente citada, y hacer referencia


a la clase WshNetwork de wsh que contiene dichos métodos

Agregar una impresora mediante el comando


shell

Si se quiere desplegar el cuadro de diálogo de windows que permite instalar una


nueva impresora en el sistema, se puede hacer una llamada al comando Shell .
De esta forma el susuario del programa podrá añadir y configurar manualmente
la impresora por medio del asistente de windows.

vista previa de la ventana del asistente de windows para agregar impresora

La llamada para la línea de comandos utilizando la función Shell de VB sería la


siguiente:

Shell "rundll32 shell32.dll,SHHelpShortcuts_RunDLL


AddPrinter", vbNormalFocus

Recursos vb6 - Enlaces relacionados

5 de 6 21/01/2010 3:19 PM
Establecer y cambiar la impresora predeterminada http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual...

Cuadro de diálogo Seleccionar impresora y configurar página

Ejemplos de impresión en visual basic

Ejemplos sobre WMI

Recursos vb.net - Enleaces


Obtener las impresoras del sistema usando PrintDocument

Buscar en Recursos vb

Experto Visual Basic.Net


Aprenda a Programar en Visual Basic
Importante Oportunidad Laboral
www.Aprender21.com

Recursos visual basic - Buscar - Privacidad - Copyright © 2005 - 2009 -


www.recursosvisualbasic.com.ar

6 de 6 21/01/2010 3:19 PM

Vous aimerez peut-être aussi