Macro para impedir que se guarde un archivo de Excel

Cómo hacer para que no se guarde un archivo de Excel, es el post de esta noche. Es decir, si mandamos archivos por correo electrónico o los compartimos mediante una red local y no queremos que quienes usen el archivo, aunque hagan modificaciones en él, lo puedan guardar.
Esto se realiza mediante macros de eventos. Recordemos que los eventos son acciones propias de Excel, y que al suceder, podemos asignarle una macro. Por ejemplo está el evento de Activar hoja, Antes de imprimir, Al modificar celdas, etc. Recordemos que al ser mediante macros, la seguridad de Excel debe permitir la ejecución de macros.
Los eventos utilizados para este ejercicio son Antes de cerrar (BeforeClose) y Antes de guardar (BeforeSave). Es importante que el código de los eventos esté en el objeto ThisWorkbook. El código a utilizar será:
Evento que se ejecutará al momento de elegir Guardar o Guardar como, el cual impedirá la acción:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) MsgBox "No tienes permitido guardar el archivo.", vbCritical, "EXCELeINFO" Cancel = True End Sub
Evento que se ejecutará al momento de cerrar el archivo, tanto presionando la x o las combinaciones para cerrar Ctrl + F4 o Alt + F4, el cual cerrará el archivo sin preguntar si lo desea guardar:
Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.Close Savechanges:=False End Sub
super me ayudo muchisimo gracias
Ok, está genial la verdad, pero tengo una duda… cómo se graba esta macro, si al “escribirla” ya no te deja grabar el excel???
gracias!!
Buena pregunta. Antes de abrir el archivo hay que desactivar la ejecución de macros. Abrimos el archivo, guardamos, cerramos, le volvemos a activar las macros y reiniciamos Excel.
Hola, traté deshabilitar las macros (Excel 2010) tildando “Deshabilitar todas las macros sin notificación”, cerré el programa, volví a abrir y al intentar copiar el código no me deja guardar, es decir, la macro me bloquea. Te pido por favor si me das una mano para solucionarlo, ya que necesito implementarlas. Gracias.
Con gusto German.
Pega el código cuando tengas las macros deshabilitadas para que no te lo detecte al cerrarlo. Después de cerrarlo vuelve a habilitar las macros.
Sinceramente, no sé que estaré haciendo mal, pero siguiendo los pasos, no me funciona. Muchas gracias de todas maneras, está genial el blog.
Para los recientes (2 años después :P). El amigo sergioacamposh probablemente instaló Office sin reiniciar el equipo.
Sin esto, aún Excel no reconoce la configuración predeterminada de Macros.
Saludos.
Sigue los siguientes pasos tal cual:
Abre Excel y deshabilta las macros.
Cierra Excel y abre tu archivo.
Pega el código en el módulo ThisWorkbook.
Guarda tu archivo con el codigo incluido y lo cierras.
Vuelve a habilitar las macros.
Cierra y vuelve a abrir Excel.
Si sigues estos pasos debe funcionarte.
Excelente aportacion me sivio muy bien, Gracias..
necesito guardar este codigo en el archivo de excel pero no me permite, como puedo hacer?
Lo que te recomiendo es que deshabilitar las macros de Excel, pegar el código y guardar.
Vuelves a habilita macros y ya debería funcionar.
Hay opción para que habilite únicamente la función “Guardar como”?