Imprimir Userform

17/07/2006 - 21:25 por MARCO6325 | Informe spam
Buenas grupo, quisiera que me ayudaran
Tengo en un userform un commandButton con el cual quisiera mandar a
imprimir el formulario activo...pero que éste salga tamaño grandey
centrado. ahhh y necesito cambiar la impresora..porque no quiero que se
imprima con la impresora predeterminada, sino con otra...estuve
probando con el comando userform.print, pero me imprime en un programa
de office como imagen.les agradezco su ayuda de antemano...
 

Leer las respuestas

#1 Héctor Miguel
18/07/2006 - 06:04 | Informe spam
hola, Marco !

... en un userform un commandButton con el cual quisiera... imprimir el formulario... pero que... salga tama#o grande y centrado
... ahhh y necesito cambiar la impresora..porque no quiero que se imprima con la impresora predeterminada, sino con otra
... probando con el comando userform.print, pero me imprime en un programa de office como imagen...



1) en cuanto a 'cambiar de impresora activa'... por codigo [seguramente] va a depender de si vas a utilizar para dicha tarea...
- un solo equipo, donde conoces [+/- exactamente] nombres, puertos [y demas caracteristicas] de las impresoras instaladas ?
- impresoras 'en red'... o conexiones USB [donde el puerto 'asignado' dependeria del puerto donde se conectan] ?
- distintos equipos, donde pudieras NO conocer las impresoras que pudieran estar 'disponibles' ?

-> si se trata del primer caso... prueba con la propiedad 'Application.ActivePrinter'
[quizas necesitaras ir cambiando de impresoras y mostrando un mensaje para conocer sus conexiones y nombres] -?-
-> si se trata de los 'otros' casos... [me temo que] va a ser necesario utilizar codigo -ligeramente- mas... 'exhaustivo' :))

2) para imprimir un formulario, te paso un ejemplo al final.

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

se trata de un 'pegue' del portapapeles [formato: 'mapa de bits'] sobre una hoja de un libro creado y cerrado 'al vuelo'
-> nota: si la aplicacion es en ingles... deberas cambiar 'mapa de bits' por 'bitmap' <= OJO
[ademas] 'tendras que'... encontrar la los ajustes 'adecuados' [una vez en la hoja] para 'centrar y agrandar' la imagen

copia las siguientes lineas [ligeramente adaptado de un codigo de Orlando Magalhães Filho]
en el modulo de codigo del formulario ==Private Declare Sub ImprPant Lib "User32" Alias "keybd_event" ( _
ByVal Tecla As Byte, _
ByVal Monitor As Byte, _
ByVal Estado As Long, _
ByVal InfoE As Long)
Private Sub CommandButton1_Click()
DoEvents
ImprPant 164, 0, 1, 0
ImprPant 44, 0, 1, 0
DoEvents
Workbooks.Add
ActiveSheet.PasteSpecial Format:="mapa de bits"
ActiveWindow.PrintOut
ActiveWorkbook.Close False
End Sub

Preguntas similares