You are on page 1of 2

Yo he usado el print para imprimir en impresoras en red, y me funciona bien, pri

mero comparto la impresora (Si esta pegada a una Pc).


La instalo en mi Pc y le coloco un nombre amigable por ejemplo "ImpresoraRed" o
le dejo el que sale (Epson LX-300 on Pc2).
Uso este procedimiento en VB6
Private Sub SeleccionaImpresora(ByVal Impresora As String)
Dim Prt As Printer
For Each Prt In Printers
If Prt.DeviceName = Impresora Then
Set Printer = Prt
Exit For
End If
Next
End Sub
Y lo uso de esta forma:
SeleccionaImpresora "ImpresoraRed"
De esta forma ya tengo destinado el lugar a donde se iran los trabajos de impres
ion mediante el objeto printer.
--------------------------------------------
yo no pude cambiar una impresora predeterminada (porque no se puede desde vb) pe
ro si pude enlistar las impresoras y seleccionar donde voy a imprimir aqui te de
jo el codigo y espero te sirva.
'En un formulario pones un combo y un boton'
Private Sub Form_Load()
Dim x As Printer
For Each x In Printers
Combo1.AddItem x.DeviceName
Next
End Sub
Private Sub Command1_Click()
Set Printer = Printers(Combo1.ListIndex)
Printer.ScaleHeight
Printer.Font = "Verdana"
Printer.CurrentY = 1150
Printer.FontSize = 14
Printer.Print "ESTO ES LO QUE SE IMPRIMIRA EN LA LINEA 1"
Printer.Print "ESTO ES LO QUE SE IMPRIMIRA EN LA LINEA 2"
Printer.Print "ESTO ES LO QUE SE IMPRIMIRA EN LA LINEA ..."
Printer.Print "ESTO ES LO QUE SE IMPRIMIRA EN LA LINEA N"
Printer.EndDoc
End Sub
'Espero te haya servido,, saludosss
*************************************************
Private Sub Command2_Click()
Dim obj_Impresora As Object
Set obj_Impresora = CreateObject("WScript.Network")
obj_Impresora.setdefaultprinter "nombre de la impresora"
Set obj_Impresora = Nothing
End Sub
De esta forma anda perfecto, lo que si agregenle si quieren ,no obligatorio, un
"On Error Goto....." por si el nombre de impresora que ingresan no es valida, qu
e lo disfruten
//////////////////////////////////
Dim X As printer
For Each X In Printers
If X.DeviceName = "HP DeskJet 930C/932C/935C" Then
' Set printer as system default.
Set printer = X
' Stop looking for a printer.
Exit For
End If
Next
Este cdigo tiene que antes de mandar imprimir para que en ese momento la impresor
a por deafult sea cambiada, pero tomando en cuenta que solamente es cambiada par
a la impresin temporal; es decir no cambia la impresora por defecto de todo el wi
ndows, sino que solamente para imprimir en una circuntasncia dada.
En mi caso cuento cun un print server de una red y dentro de mi programa tengo q
ue poder elegir desde cdigo a cual impresora enviar los datos segn sea la accin del
usuario.
Sustituye el (X.DeviceName = "HP DeskJet 930C/932C/935C") con el nombre adecuado
o incluso una variable en dnde indique el nombre de la impresora a la que se des
ea imprimir.
Espero sea de tu ayuda.

You might also like