Resumen Seleccionar impresora   (2 mensajes )

>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
>
>
>



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com