Saltar al contenido

evitar que aparezca al abrir hoja ,la macro BeforeSave


Recommended Posts

publicado

Hola a todxs. Soy Lobato, un publicista de 58 tacos, que a base de copiar y pegar cosas que encuentro, he podido proteger mi plantilla para un cliente con Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
MsgBox "Lo sentimos,..etc", vbCritical, "EXCELeINFO"
Cancel = True
End Sub

Y va bien, no permite salvar, pero aparece ya al abrir el fichero, y no mola, es muy agresivo para el cliente, a mi me gustaría que solo apareciese al tratar de salvar.

Eso no sería agresivo pues el cliente está informado de la protección, lo que no deseo es hacérselo saber constantemente.

Saludos desde Gijón.

publicado

¿Ves esa línea que dice "ThisWorkBook.Save"?  Pues Bórrala ya que lo que hace es intentar guardar el libro apenas se abre y se activa el evento "BeforeSave" y por eso el constante mensaje al abrir el archivo. Ah, ojo, una vez que la borres  para poder guardar el libro no olvides comentar (con un apóstrofe al inicio) las dos líneas del evento "BeforeSave", hecho eso guardar el libro, les quitas el apóstrofe y listo, ya puedes entregar otra vez el archivo a tu cliente sin el dichoso mensaje al abrir.

Abraham Valencia

publicado

Fenomenal, Abraham, muchísimas gracias, espero poder corresponder..

Ahora funciona tal como dices, abro sin el mensaje.

Borré el "ThisWorkBook.Save" y me la envié por correo para poder guardarla protegida sin aviso inicial. 

Ahora tengo un original y la versión protegida.

Por eso no entiendo tu segunda parte, ... Ah, ojo, una vez que la borres  para poder guardar el libro  TE REFIERES A BORRAR EL "ThisWorkBook.Save, O LA MACRO BEFORESAVE?

" comentar, ES ESCRIBIR? (con un apóstrofe al inicio) las dos líneas del evento "BeforeSave",

SERÍA ESTO?

´Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
´MsgBox "Lo sentimos,no puede guardar el archivo,", vbCritical, "EXCELeINFO"
Cancel = True
End Sub

hecho eso guardar el libro,

les quitas el apóstrofe, NO ENTIENDO PARA QUÉ, PERO SOBRE TODO, LE PONGO 2 APOSTROFES, LO SALVO, Y LUEGO LE QUITO LOS APÓSTROFES, DICES?

Entiendo que poniendo los apóstrofes me permite guardar con macro before incluida y luego al quitárselos se activa?

Perdona la extensión y gracias por tu tiempo

publicado

Hola, he comprobado que poniendo como decías los apóstrofes al evento befofesave permite guardar pero al volver a abrir el fichero me da un error de compilación, aunque me deja seguir, qué hago mal?

Gracias

Private Sub Workbook_Open()

pregunta = MsgBox("Desea incrementar contador", vbYesNo)

If pregunta = vbYes Then

Range("B2").Value = Range("B2").Value + 1

End If


End Sub
'Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'MsgBox "Lo sentimos,no puede guardar el archivo, pero sí imprimir un pdf. o enviárnoslo para VBUENO en Archivo/compartir/correo", vbCritical, "EXCELeINFO"
Cancel = True
End Sub

 

image.png.b25c6b0f8e0ecb2b2b2180aa40de827f.png

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.