>Tengo una duda con el objeto printer
¿Sólo una? Enhorabuena, pues ... :-)
>No sé como poner una impresora como predeterminada, yo pongo:
>dim impresora as integer
>set printer = impresora
>Me da un error, y sé que seguro es una tonteria. Utilizo una variable
>Integer.
>¿Que puede pasar?
No entiendo muy bien lo que quieres hacer; pero lo que has escrito no tiene
ningún sentido.
Estás intentando asignar a un objeto (printer), el contenido de una
variable (impresora). Cosa que es imposible, claro.
Lo que tienes que hacer es buscar en la lista de impresoras definidas, la
que tú deseas establecer como predeterminada y asignarla. Es decir, lo que
hace el código que te adjunto a continuación ...
' En esta variable se guarda el nombre EXACTO de la impresora que se
desea seleccionar (que
' para evitar confusiones puede haber sido escogida de un COMBOBOX,
por ejemplo.
Dim sImpresora AS String
sImpresora = "CANON BJ240"
' Buscamos la impresora especificada en la colección
' de impresoras.
For Each pPrinter In Printers
If UCase(pPrinter.DeviceName) = UCase(sImpresora) Then
' Si coinciden los nombres, se asigna como nueva
' impresora predeterminada.
Set Printer = pPrinter
Exit For
End If
Next
A partir de aquí, el objeto printer actúa sobre la impresora seleccionada.
>Gracias
De nada.
"La obediencia ciega supone una ignorancia extrema"
ORZO, <orzo@orzo.com>
Yo tenia el mismo problema. Lo solucione con un Printer.endoc justo despues
de seleccionar la impresora, eso si, la seleccionaba con un CommonDialog.
Prueba a ponerlo despues del Set Printer =
For Each pPrinter In Printers
If UCase(pPrinter.DeviceName) = UCase(impresora) Then
Set Printer = pPrinter
Printer.Endoc
Exit For
End If
Next
Saludos
> -----Mensaje original-----
> De: Huberg Seguridad gas y agua [SMTP:huberg@vvirtual.es]
> Enviado el: martes 2 de junio de 1998 14:33
> Para: Lista Visual Basic
> Asunto: (VB-ESP) otra vez con el printer
>
> Hola a todos, vuelvo a tener el mismo problema con el objeto printer.
> Gracias a Orzo, puse la impresora predeterminada que yo queria, eligiendo
> de un textbox. El problema, es que se cambia sola. Me explico:
>
> Yo tengo este código....
>
> --------------------------------------------------------------------------
> --
> -----------------------
> Dim pPrinter As Printer
> 'la variable impresora ya contiene el nombre de la impresora
> 'seleccionada anteriormente en el textbox
> 'seleciona como predeterminada la impresora
> For Each pPrinter In Printers
> If UCase(pPrinter.DeviceName) = UCase(impresora) Then
> Set Printer = pPrinter
> Exit For
> End If
> Next
> 'empieza a imprimir
> MsgBox (Printer.DeviceName)
> Printer.FontName = "Times New Roman"
> Printer.FontSize = 12
> MsgBox (Printer.DeviceName)
> Printer.Print
> Printer.Print
> --------------------------------------------------------------------------
> --
> -------------------------
> El problema és que en el 1º msgbox, me da el nombre de la impresora
> seleccionada en el textbox, pero lo increible!!!!!, en el 2º msgbox me da
> el nombre de la impresora predeterminada del sistema. ¿porque?
>
> Creo que me voy a volver loco, ¿que debo de hacer para que se mantenga la
> que yo he seleccionado?????????
>
> Gracias a todos, y un saludo
>
> Jose
> huberg@vvirtual.es
>
>
>