Como configurar excel para vista previa antes de imprimir

08/05/2008 - 04:36 por Jesus G | Informe spam
Como puedo configurar excel para que siempre , antes de imprimir me mande a
vista previa en automatico para no mandar impresiones con errores ..Ya
estando en vista previa , optar por imprimir o corregir si hay un
error...agradecere mucho su apoyo ...Saludos

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
08/05/2008 - 06:39 | Informe spam
hola, Jesus !

Como puedo configurar excel para que siempre, antes de imprimir me mande a vista previa en automatico
para no mandar impresiones con errores.Ya estando en vista previa, optar por imprimir o corregir si hay un error...



podrias "forzar" la presentacion de la vista previa a traves del evento '_beforeprint' en el modulo del ThisWorkbook (p.e.)

Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveWindow.SelectedSheets.PrintPreview
End Sub

PERO... AUN si el usuario "cancela" desde la vista previa... SIEMPRE le seguira el proceso de impresion

en resumen (y hasta donde se) la UNICA manera de controlar el PrintPreview es: NO USAR el PrintPreview !!!
en su lugar usa (p.e.) RespuestaDelUsuario = Application.Dialogs(xlBuiltInDialog).Show
ya que una variable que muestra un dialogo incorporado devolvera False si el usuario lo cancela
y ademas, como el evento '_beforeprint' se dispara 2 veces (la primera al mostrar el PrintPreview)
seran necesarias otras variables (publicas) del tipo booleano (verdadero/falso) como apoyo

prueba con el siguiente ejemplo (adaptalo segun tus necesidades)
(tus acciones, segun la respuesta del usuario van en el lugar de los MsgBoxes)

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

en un modulo de codigo normal ==' variables para detectar si el proceso es por codigo o normal _
(y si el usuario cancela desde el PrintPreview)
Public Ver_xCodigo As Boolean, _
Print_xCodigo As Boolean, _
Impreso_xCodigo As Boolean

' macro de prueba
Sub Probando_VistaPrevia()
MsgBox "Iniciando vista previa (por codigo)..."
Ver_xCodigo = True
Impreso_xCodigo = Application.Dialogs(xlDialogPrintPreview).Show
If Not Impreso_xCodigo Then
MsgBox "Operacion cancelada ""desde"" la vista previa por codigo"
End If
End Sub

y en el modulo de codigo del libro (ThisWorkbook) ==Private Sub Workbook_BeforePrint(Cancel As Boolean)
If Ver_xCodigo Then
Ver_xCodigo = False
Print_xCodigo = True
ElseIf Print_xCodigo Then
Print_xCodigo = False
MsgBox "Iniciando impresion ""controlada"" por codigo..."
Else
MsgBox "El proceso de impresion es por la ""via normal""."
End If
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida