Resumen Impresora   (2 mensajes )

Hola,

Esto es una "chapucilla" pero funciona:

Dim sDeviceName As String
Dim ImpAnt As Printer

Debug.Print "Al empezar: " & Printer.DeviceName

sDeviceName = Printer.DeviceName
Set ImpAnt = Printer

'... lo que tengas que hacer...

'Restablecer la impresora original
If ImpAnt.DeviceName <> sDeviceName Then
    For Each ImpAnt In Printers
        If ImpAnt.DeviceName = sDeviceName Then
            Set Printer = ImpAnt
            Exit For
        End If
    Next
End If
Debug.Print "Al finalizar: " & Printer.DeviceName

Si todo va bien, no cambiará de impresora.


Nos vemos.
Guillermo


-----
> From: Sergio Cárdenas Melero <scardenas@bigfoot.com>
> To: "'vb-esp@ccc.uba.ar'" <vb-esp@ccc.uba.ar>
> Subject: RE: (VB-ESP) Impresora
> Date: Wed, 24 Sep 1997 19:24:26 +-200
> Reply-to: vb-esp@ccc.uba.ar

> Hola:
>
> ****
> Prueba declarando la variable As Printer
> Y asignándola con SET
>
> Dim ImpAnt As Printer
> Set ImpAnt = Printer
> ****
> Pues no me funciona ya que si la declaro como Printer cambia el valor de la variable (automáticamente) dependiendo de la impresora predeterminada.
>
>
> Saludos
> Sergio
>
> scardenas@bigfoot.com
> Spice Girls: http://www.redestb.es/personal/scardenas/spice
> ------------------------------------------
> "Base de Datos" es una recopilación de problemas técnicos y trucos de muchos programas de software. Es totalmente gratuito y se puede "bajar" y registrar en http://www.geocities.com/SiliconValley/Vis>
>
>
> Espero que te sirva. (no lo he probado)
>
>
> Nos vemos.
> Guillermo
>
>
> -----
> > From: Sergio Cárdenas Melero <scardenas@bigfoot.com>
> > To: "'vb-esp@ccc.uba.ar'" <vb-esp@ccc.uba.ar>
> > Subject: RE: (VB-ESP) Impresora
> > Date: Wed, 24 Sep 1997 09:53:38 +-200
> > Reply-to: vb-esp@ccc.uba.ar
>
> > Hola:
> >
> > ****
> > Guarda en una variable la impresora que hay antes de llamar al
> > diálogo y después la vuelves a asignar.
> > ****
> > ¿Me puedes dar un ejemplo? eso es lo que se me ocurrió hacer pero no me funcionaba. Este era el código:
> >
> > Dim ImpAnt
> >
> > ImpAnt = Printer
> > Commondialog1.showprinter
> >
> > ' Aquí empieza el código de imprimir
> > [...]
> >
> > Set Printer = ImpAnt
> >
> >
> > ¿Será por que es necesario declarar la variable ImpAnt? Si es así, ¿cómo que hay que declararla?
> >
> > Saludos
> > Sergio
> >
> > scardenas@bigfoot.com
> > Spice Girls: http://www.redestb.es/personal/scardenas/spice
> > ------------------------------------------
> > "Base de Datos" es una recopilación de problemas técnicos y trucos de muchos programas de software. Es totalmente gratuito y se puede "bajar" y registrar en http://www.geocities.com/SiliconValley/V> >
> >
> >
>
>

Hola Sergio,
Puedes imprimir con la impresora que quieras, o enviarlo directamente por
fax sin que el usuario de tu programa tenga que abrir el CommonDialog.
El código que te envío a continuación es un ejemplo de la ayuda de
Microsoft de VB5 y parece evidente que debe funcionar, sin embargo NO
FUNCIONA con VisualBasic 5.00 a no ser que te bajes el Servipack2 de
VisualBasic5 entonces, magia!, ya funciona! (porque le tengo un cierto
cariño a Bill Gates que si no....).
Yo he estado "puteado, jodido y maltratado" mucho tiempo para conseguir que
un usuario de mi programa pudiera imprimir por su impresora o enviarlo por
fax, pulsando un simple botón. Ahora ya me funciona perfectamente.

Dim i as Printer

 For Each i In Printers
     If i.DeviceName = NombreDispositivo Then
     Set Printer = i
     Exit For
    End If
 Next

Ahora con Printer.Print imprimes en NombreDispositivo.
NombreDispositivo puede ser el nombre de una impresora, Microsoft Fax, etc.
Puedes cambiar NombreDispositivo por ejemplo teniendo un NombreImpresora un
NombreFax que puedes guardar en un fichero de variables y que el usuario
puede seleccionar con el CommonDialog
famoso
Esa rutina no te cambia la impresora predeterminada del sistema lo que aún
es mejor.

Personalmente no soporto presentar el cuadro de dialogo de la impresora a
mis usuarios cada vez que hay que imprimir algo.

Un saludo, Gusti. (Augusto Cervera) gusti@redestb.es






-----Original Message-----
De: Sergio Cárdenas Melero <scardenas@bigfoot.com>
Para: 'Lista VB' <vb-esp@ccc.uba.ar>
Fecha: martes 23 de septiembre de 1997 19:54
Asunto: (VB-ESP) Impresora



Hola:

Tengo este problema con la impresora en VB:

Uso el control CommonDialog para mostrar el cuadro de diálogo de la
impresora (ShowPrinter) para que el usuario diga en que impresora quiere
imprimir. Como tiene la opción (el CommonDialog) de cambiar la impresora
predeterminada del sistema pues la he activado y así como el printer.print
imprime en la impresora predeterminada pues esa parte ya está resulta. El
problema llega a la hora de volver a cambiar la impresora predeterminada a
la que estaba antes de que el CommonDialog la cambiará y es lo que no sé
como hacer.

¿Puede ayudarme alguien?


Saludos
Sergio

scardenas@bigfoot.com
Spice Girls: http://www.redestb.es/personal/scardenas/spice
------------------------------------------
"Base de Datos" es una recopilación de problemas técnicos y trucos de
muchos programas de software. Es totalmente gratuito y se puede "bajar" y
registrar en http://www.geocities.com/SiliconValley/Vista/3235




Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com