Folio cambia con cada impresion y con cada visualizacion de hoja.

28/11/2008 - 19:24 por Age | Informe spam
Tengo el siguiente codigo el cual me imprime dos copias con un solo click en
el icono de imprimir y el folio solo cambia una vez:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name <> "Solicitud" Then Exit Sub 'Hoja1 es la hoja en
que se quiere incrementar la numeración
Cancel = True
ActiveSheet.[I1] = ActiveSheet.[I1] + 1 'A1 es la celda en que se
incrementará la numeración 1 =aumento de numero
Application.EnableEvents = False
ActiveSheet.PrintOut copies:=2
Application.EnableEvents = True
End Sub

El problema es que el folio cambia tambien cada vez que lo visualizo la hoja
y no quiero que suceda eso.

¿Que cambio le hago al macro para evitar el cambio de folio cada vez que
visualice la hoja?
 

Leer las respuestas

#1 Héctor Miguel
29/11/2008 - 01:15 | Informe spam
hola, (...) ???

el codigo que expones esta "preparado" (exclusivamente) para avanzar la numeracion al pulsar el icono de impresion
PERO... el evento '_beforeprint" (como ya lo has comprobado) tambien se dispara desde una vista preliminar de impresion
por este comportamiento, encontraras (al menos) dos posibles "inconvenientes adicionales"...
1) la numeracion (tambien) avanzara por algun otro metodo de impresion AUN si decides "cancelar" la impresion
2) si al lanzar una vista preliminar, decides (desde ese dialogo) imprimir... la numeracion avanzara DOS VECES :-((

(creo que) la alternativa mas "barata" es que hagas un macro y le integres algun atajo (o la asignes a algun boton)
y NO a traves del evento, de lo contrario, deberas "planear"...
(p.e.) que debiera suceder si se alternan impresiones por otros medios y/o vistas previas de impresion ?

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

__ OP __
Tengo el siguiente codigo el cual me imprime dos copias con un solo click en el icono de imprimir y el folio solo cambia una vez:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name <> "Solicitud" Then Exit Sub 'Hoja1 es la hoja en que se quiere incrementar la numeracion
Cancel = True
ActiveSheet.[I1] = ActiveSheet.[I1] + 1 'A1 es la celda en que se incrementara la numeracion 1 =aumento de numero
Application.EnableEvents = False
ActiveSheet.PrintOut copies:=2
Application.EnableEvents = True
End Sub

El problema es que el folio cambia tambien cada vez que lo visualizo la hoja y no quiero que suceda eso.

Que cambio le hago al macro para evitar el cambio de folio cada vez que visualice la hoja?

Preguntas similares