imprimir solo esta hoja

25/03/2005 - 07:21 por Rodrigo | Informe spam
Hola amigos requiero una funcion que imprima solo ciertas hojas permitidas
en un libro pero no me funciona probe con esto:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim HOJA As Worksheet
If HOJA.Name = "caja" Then Cancel = True
End Sub
Las hojas del libro pueden estar ocultas.
No logro que funcione... algun comentario...?

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
25/03/2005 - 09:23 | Informe spam
Prueba con éste:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "caja" Then Cancel = True
End Sub

Tienes que situarlo en el módulo del libro (en ThisWorkbook)
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Rodrigo" escribió en el mensaje news:
Hola amigos requiero una funcion que imprima solo ciertas hojas permitidas
en un libro pero no me funciona probe con esto:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim HOJA As Worksheet
If HOJA.Name = "caja" Then Cancel = True
End Sub
Las hojas del libro pueden estar ocultas.
No logro que funcione... algun comentario...?


Respuesta Responder a este mensaje
#2 KL
25/03/2005 - 12:58 | Informe spam
Hola chicos,

?Que tal si le doy a imprimir todo el libro desde otra hoja? :-((
Creo que esto no tiene solucion facil. Las opciones que se meocurren son:

1) Restringir la impresion totalmente y crear un dialogo de impresion
alternativo a base de UserForms. Asi se podra controlar que hojas se
imprimen. Aqui hay un ejemplo que te podria dar pistas:
http://www.j-walk.com/ss/excel/tips/tip48.htm

2) En otros foros se planteaba tambien la posibilidad de ocultar las hojas
que no se pueden imprimir dentro del evento BeforePrint , pero el problema
seria como mostrarlas despues ya que no existe el evento AfterPrint.
Probablemente habria que buscar alguna llamada API que pudiera atrapar el
momento de finalizar el "spooling".

Saludos,
KL


"Fernando Arroyo" wrote in message
news:
Prueba con éste:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "caja" Then Cancel = True
End Sub

Tienes que situarlo en el módulo del libro (en ThisWorkbook)
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Rodrigo" escribió en el mensaje
news:
Hola amigos requiero una funcion que imprima solo ciertas hojas permitidas
en un libro pero no me funciona probe con esto:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim HOJA As Worksheet
If HOJA.Name = "caja" Then Cancel = True
End Sub
Las hojas del libro pueden estar ocultas.
No logro que funcione... algun comentario...?


Respuesta Responder a este mensaje
#3 Fernando Arroyo
25/03/2005 - 19:30 | Informe spam
No estoy seguro, y además no puedo comprobarlo porque en el sitio donde estoy no tengo impresoras, pero me parece que si se intentaran imprimir todas las hojas, agrupándolas previamente, lo que sucedería es que se imprimirían todas menos CAJA. Pienso que el evento BeforePrint saltaría al irse a imprimir cada una de las hojas, y que cuando le tocara a CAJA se activaría el Cancel = True

De todas formas, volvemos a lo de siempre: el tema de la seguridad en Excel es muy difícil de conseguir, porque es una aplicación que no está diseñada específicamente para ser segura. Yo casi siempre pienso que es como intentar ponerle puertas al campo...
Un saludo.


Fernando Arroyo
MS MVP - Excel



"KL" escribió en el mensaje news:%
Hola chicos,

?Que tal si le doy a imprimir todo el libro desde otra hoja? :-((
Creo que esto no tiene solucion facil. Las opciones que se meocurren son:

1) Restringir la impresion totalmente y crear un dialogo de impresion
alternativo a base de UserForms. Asi se podra controlar que hojas se
imprimen. Aqui hay un ejemplo que te podria dar pistas:
http://www.j-walk.com/ss/excel/tips/tip48.htm

2) En otros foros se planteaba tambien la posibilidad de ocultar las hojas
que no se pueden imprimir dentro del evento BeforePrint , pero el problema
seria como mostrarlas despues ya que no existe el evento AfterPrint.
Probablemente habria que buscar alguna llamada API que pudiera atrapar el
momento de finalizar el "spooling".

Saludos,
KL


Respuesta Responder a este mensaje
#4 KL
25/03/2005 - 19:48 | Informe spam
Hola Fernando,

Lo he podido comprobar en mi impresora y efectivamente se imprimen todas las
hojas. Ni siquiera es necesario imprimir todas las hojas del libro - basta
con seleccionar las prohibidas y una permitida, hacerla esta ultima activa e
imprimir. Estoy de acuerdo que el evento se dispara al imprimir cada una de
las hojas, el problema es que la hoja activa es siempre la misma y mientras
sea la permitida el codigo le dara OK para imprimir.

Respecto a la segunda parte de tu mensaje ya sabes que estoy completamente
de acuerdo.

Saludos,
KL

"Fernando Arroyo" wrote in message
news:
No estoy seguro, y además no puedo comprobarlo porque en el sitio donde
estoy no tengo impresoras, pero me parece que si se intentaran imprimir
todas las hojas, agrupándolas previamente, lo que sucedería es que se
imprimirían todas menos CAJA. Pienso que el evento BeforePrint saltaría al
irse a imprimir cada una de las hojas, y que cuando le tocara a CAJA se
activaría el Cancel = True

De todas formas, volvemos a lo de siempre: el tema de la seguridad en Excel
es muy difícil de conseguir, porque es una aplicación que no está diseñada
específicamente para ser segura. Yo casi siempre pienso que es como intentar
ponerle puertas al campo...
Un saludo.


Fernando Arroyo
MS MVP - Excel



"KL" escribió en el mensaje
news:%
Hola chicos,

?Que tal si le doy a imprimir todo el libro desde otra hoja? :-((
Creo que esto no tiene solucion facil. Las opciones que se meocurren son:

1) Restringir la impresion totalmente y crear un dialogo de impresion
alternativo a base de UserForms. Asi se podra controlar que hojas se
imprimen. Aqui hay un ejemplo que te podria dar pistas:
http://www.j-walk.com/ss/excel/tips/tip48.htm

2) En otros foros se planteaba tambien la posibilidad de ocultar las hojas
que no se pueden imprimir dentro del evento BeforePrint , pero el problema
seria como mostrarlas despues ya que no existe el evento AfterPrint.
Probablemente habria que buscar alguna llamada API que pudiera atrapar el
momento de finalizar el "spooling".

Saludos,
KL


Respuesta Responder a este mensaje
#5 Fernando Arroyo
25/03/2005 - 20:16 | Informe spam
No sé si funcionará (parece que he escogido un mal día para estar sin impresoras), pero se me ha ocurrido el siguiente código:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If Me.Windows(1).SelectedSheets.Count > 1 Then
MsgBox "No está permitido seleccionar más de una hoja al imprimir", vbCritical
Cancel = True
End If

If ActiveSheet.Name = "CAJA" Then Cancel = True
End Sub

Un saludo.


Fernando Arroyo
MS MVP - Excel


"KL" escribió en el mensaje news:
Hola Fernando,

Lo he podido comprobar en mi impresora y efectivamente se imprimen todas las
hojas. Ni siquiera es necesario imprimir todas las hojas del libro - basta
con seleccionar las prohibidas y una permitida, hacerla esta ultima activa e
imprimir. Estoy de acuerdo que el evento se dispara al imprimir cada una de
las hojas, el problema es que la hoja activa es siempre la misma y mientras
sea la permitida el codigo le dara OK para imprimir.

Respecto a la segunda parte de tu mensaje ya sabes que estoy completamente
de acuerdo.

Saludos,
KL

"Fernando Arroyo" wrote in message
news:
No estoy seguro, y además no puedo comprobarlo porque en el sitio donde
estoy no tengo impresoras, pero me parece que si se intentaran imprimir
todas las hojas, agrupándolas previamente, lo que sucedería es que se
imprimirían todas menos CAJA. Pienso que el evento BeforePrint saltaría al
irse a imprimir cada una de las hojas, y que cuando le tocara a CAJA se
activaría el Cancel = True

De todas formas, volvemos a lo de siempre: el tema de la seguridad en Excel
es muy difícil de conseguir, porque es una aplicación que no está diseñada
específicamente para ser segura. Yo casi siempre pienso que es como intentar
ponerle puertas al campo...
Un saludo.


Fernando Arroyo
MS MVP - Excel



"KL" escribió en el mensaje
news:%
Hola chicos,

?Que tal si le doy a imprimir todo el libro desde otra hoja? :-((
Creo que esto no tiene solucion facil. Las opciones que se meocurren son:

1) Restringir la impresion totalmente y crear un dialogo de impresion
alternativo a base de UserForms. Asi se podra controlar que hojas se
imprimen. Aqui hay un ejemplo que te podria dar pistas:
http://www.j-walk.com/ss/excel/tips/tip48.htm

2) En otros foros se planteaba tambien la posibilidad de ocultar las hojas
que no se pueden imprimir dentro del evento BeforePrint , pero el problema
seria como mostrarlas despues ya que no existe el evento AfterPrint.
Probablemente habria que buscar alguna llamada API que pudiera atrapar el
momento de finalizar el "spooling".

Saludos,
KL






Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida