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