paginar hojas y libro

17/11/2003 - 16:36 por Carlos delaVega | Informe spam
Hola a todos.
Tengo un libro con 15 hojas y cuando imprimo el libro completo la paginación
es algo asi:
1/51 2/51 3/51, ... 51/51
quisiera saber si se puede poner tambien y al mismo tiempo una paginación
por hoja y la general del libro
1/3 1/51; 2/3 2/51; 3/3 3/51; 1/2 4/51; 2/2 5/51; etc.,
Saludos
Carlos

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
18/11/2003 - 01:38 | Informe spam
Hola, Carlos !

... libro con 15 hojas y cuando imprimo ... completo la paginacion es algo asi: 1/51 2/51 3/51, ... 51/51
... poner ... paginacion por hoja y la general del libro: 1/3 1/51; 2/3 2/51; 3/3 3/51; 1/2 4/51; 2/2 5/51; etc.



usando los codigos de campo para los encabezados y pies de pagina, seria 'algo' [+/-] como lo siguiente:
1.- 'contar' las paginas 'a imprimirse' de cada hoja seleccionada [por si fueran varias
2.- 'restarselas' a los codigos de campo 'normales' [PA=paginas_acumuladas PD=paginas_del_documento]
3.- 'ponerlas' ANTES de [y 'poner' TAMBIEN] los codigos de campo 'normales' [p.e.]
en el modulo de codigo del libro ['ThisWorkbook'] ==Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object, PD As Integer, PA As Integer
For Each Sh In ActiveWindow.SelectedSheets
With Sh
PD = .VPageBreaks.Count * .HPageBreaks.Count
.PageSetup.LeftFooter = "&p-" & PA & "/" & PD & " - &p/&n"
PA = PA + PD
End With
Next
End Sub

saludos,
Héctor.

P.D. no se que tan 'lento' se pueda 'volver' el proceso CON +/-15 hojas y +/-51 paginas :((
Respuesta Responder a este mensaje
#2 Carlos delaVega
18/11/2003 - 11:19 | Informe spam
Gracias por la respuesta Héctor Miguel,
Lo acabo de probar, pero el resultado no ha sido el esperado.
He seleccionado las tres primeras hojas para que la prueba no fuera muy
larga, y el resultado ha sido el siguiente:
primera hoja: 1/0 -1/53; 2/0 - 2/53; 3/0 - 3/53
segunda hoja: sin paginar
tercera hoja: sin paginar
Saludos
Carlos


"Héctor Miguel" escribió en el mensaje
news:
Hola, Carlos !

> ... libro con 15 hojas y cuando imprimo ... completo la paginacion es


algo asi: 1/51 2/51 3/51, ... 51/51
> ... poner ... paginacion por hoja y la general del libro: 1/3 1/51; 2/3


2/51; 3/3 3/51; 1/2 4/51; 2/2 5/51; etc.

usando los codigos de campo para los encabezados y pies de pagina, seria


'algo' [+/-] como lo siguiente:
1.- 'contar' las paginas 'a imprimirse' de cada hoja seleccionada [por si


fueran varias
2.- 'restarselas' a los codigos de campo 'normales' [PA=paginas_acumuladas


PD=paginas_del_documento]
3.- 'ponerlas' ANTES de [y 'poner' TAMBIEN] los codigos de campo


'normales' [p.e.]
en el modulo de codigo del libro ['ThisWorkbook'] ==> Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object, PD As Integer, PA As Integer
For Each Sh In ActiveWindow.SelectedSheets
With Sh
PD = .VPageBreaks.Count * .HPageBreaks.Count
.PageSetup.LeftFooter = "&p-" & PA & "/" & PD & " - &p/&n"
PA = PA + PD
End With
Next
End Sub

saludos,
Héctor.

P.D. no se que tan 'lento' se pueda 'volver' el proceso CON +/-15 hojas y


+/-51 paginas :((


Respuesta Responder a este mensaje
#3 Héctor Miguel
18/11/2003 - 19:20 | Informe spam
Hola, Carlos !

... acabo de probar, pero el resultado no ha sido el esperado.
He seleccionado las tres primeras hojas ...[prueba no ... muy larga] ... resultado ... siguiente:
primera hoja: 1/0 -1/53; 2/0 - 2/53; 3/0 - 3/53
segunda hoja: sin paginar ... tercera hoja: sin paginar



1.- 'adelgazando' [un poco] el codigo 'propuesto'... quedaria como sigue:
en el modulo de codigo del libro ['ThisWorkbook'] <==Private Sub Workbook_BeforePrint(Cancel As Boolean)


Dim Sh As Object, PD As Integer, PA As Integer
For Each Sh In ActiveWindow.SelectedSheets
PD = Sh.VPageBreaks.Count * Sh.HPageBreaks.Count
Sh.PageSetup.LeftFooter = "&p-" & PA & "/" & PD & " - &p/&n"
PA = PA + PD
Next
End Sub

2.- con relacion al resultado que estas obteniendo [no el 'esperado'] :((
a) en cada pagina [al menos en la primera] 'queda' la paginacion en: => 1/0 - 1/53; 2/0 - 2/53; .[...] < b) el 'desgloce' del 'significado' del resultado [primer pagina de la primera hoja =>1/0 - 1/53<=] es:
1.- el 0 [cero] 'lo pone' la variable 'PD' [que es 'la cuenta' de las paginas a imprimirse de cada hoja]
en el codigo 'se cuentan' con => PD = Sh.VPageBreaks.Count * Sh.HPageBreaks.Count
y 'se ponen' [en el pie de pagina] con => [...].LeftFooter = [...] & PD & [...]
[algun error 'tipografico' ??? -si re-escribiste el codigo en lugar de copiarlo-]
2.- el 53 'lo pone' el codigo de campo '&n' [ES el numero TOTAL de paginas 'imprimibles' de la seleccion]
[si las tres hojas seleccionadas 'abarcan' un total de 53 paginas 'a imprimirse'... =>es 'correcto' ???<=]
c) la 'falta de paginacion' en las hojas 'restantes' [???] -¿estas imprimiendo 'por codigo'? ...o 'directamente'-
... ¿comentas datos adicionales?

saludos,
Héctor.
Respuesta Responder a este mensaje
#4 Carlos delaVega
19/11/2003 - 11:38 | Informe spam
Hola Héctor Miguel y de nuevo gracias !
He probado tu nuevo código y sigue sin funcionar totalmente.
- El código lo copio y lo pego, por lo que no hay posibilidad de error
tipográfico.
- La falta de paginación debía ser algún problema de márgenes, ahora sale en
todas.
- La segunda parte de la paginación siempre es correcta, porque es la
estandard del programa.(el 53 en los ejemplos)
- La primera parte que es la especial, me parece, que está numerando el
orden de la hoja dentro del libro, no el numero de pagina de cada hoja.
ejemplo: sólo de las tres primeras hojas que solamente tienen una página
cada una.
Debería poner: 1/1; 1/1; 1/1;
Y pone: 1/0; 2/0; 3/0
- Imprimo directamente por Archivo, Imprimir (aunque ahora con las pruebas
solo VISTA PREVIA, para abreviar.
Saludos Carlos


"Héctor Miguel" escribió en el mensaje
news:
Hola, Carlos !

> ... acabo de probar, pero el resultado no ha sido el esperado.
> He seleccionado las tres primeras hojas ...[prueba no ... muy larga] ...


resultado ... siguiente:
> primera hoja: 1/0 -1/53; 2/0 - 2/53; 3/0 - 3/53
> segunda hoja: sin paginar ... tercera hoja: sin paginar

1.- 'adelgazando' [un poco] el codigo 'propuesto'... quedaria como sigue:
> en el modulo de codigo del libro ['ThisWorkbook'] <==> Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object, PD As Integer, PA As Integer
For Each Sh In ActiveWindow.SelectedSheets
PD = Sh.VPageBreaks.Count * Sh.HPageBreaks.Count
Sh.PageSetup.LeftFooter = "&p-" & PA & "/" & PD & " - &p/&n"
PA = PA + PD
Next
End Sub

2.- con relacion al resultado que estas obteniendo [no el 'esperado']


:((
a) en cada pagina [al menos en la primera] 'queda' la paginacion en:


=> 1/0 - 1/53; 2/0 - 2/53; .[...] <> b) el 'desgloce' del 'significado' del resultado [primer pagina de la
primera hoja =>1/0 - 1/53<=] es:
1.- el 0 [cero] 'lo pone' la variable 'PD' [que es 'la cuenta' de


las paginas a imprimirse de cada hoja]
en el codigo 'se cuentan' con => PD = Sh.VPageBreaks.Count


* Sh.HPageBreaks.Count
y 'se ponen' [en el pie de pagina] con => [...].LeftFooter


= [...] & PD & [...]
[algun error 'tipografico' ??? -si re-escribiste el codigo


en lugar de copiarlo-]
2.- el 53 'lo pone' el codigo de campo '&n' [ES el numero TOTAL


de paginas 'imprimibles' de la seleccion]
[si las tres hojas seleccionadas 'abarcan' un total de 53


paginas 'a imprimirse'... =>es 'correcto' ???<=]
c) la 'falta de paginacion' en las hojas 'restantes' [???] -¿estas


imprimiendo 'por codigo'? ...o 'directamente'-
... ¿comentas datos adicionales?

saludos,
Héctor.


Respuesta Responder a este mensaje
#5 Héctor Miguel
20/11/2003 - 03:36 | Informe spam
Hola, Carlos !

... nuevo codigo sigue sin funcionar ... copio y pego ... no hay ... error tipografico [...]
... primera parte ... parece que esta numerando ... la hoja dentro del libro no ... pagina de cada hoja.
... de las tres primeras ... una página cada una ... debería poner: 1/1; 1/1; 1/1 ... pone: 1/0; 2/0; 3/0 [...]



la 'perdida' [en la 'cuenta' de paginas de cada hoja] 'asoma' cuando se define una area de impresion 'personalizada'
situacion que 'causa' que los 'extremos' [del area marcada] NO 'alcancen' su 'salto de pagina' [vertical u horizontal]
que pudiera 'quedar' en cero con el 'consecuente' cero en la multiplicacion [saltos_verticales * saltos_horizontales] :((

la 'correccion' [para 'cuando sea el caso'] queda como sigue:
__________
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object, PD As Integer, PA As Integer
For Each Sh In ActiveWindow.SelectedSheets
If Sh.PageSetup.PrintArea <> "" _
Then PD = (Sh.VPageBreaks.Count + 1) * (Sh.HPageBreaks.Count + 1) _
Else PD = Sh.VPageBreaks.Count * Sh.HPageBreaks.Count
Sh.PageSetup.LeftFooter = "&p-" & PA & "/" & PD & " - &p/&n"
PA = PA + PD
Next
End Sub
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
saludos,
Héctor.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida