Evitar que se pueda guardar archivo excel

Tengo un archivo excel que está alojado en una carpeta compartida por muchos usuarios.

Este archivo lo actualizo diariamente.

Necesito que solo yo pueda guardar las modificaciones y los otros usuarios no. Que los otros usuarios SI puedan ingresar información, pero que al momento que traten de guardar los cambios NO puedan. Quizas ponerle una contraseña.

1

1 respuesta

Respuesta
2

Prueba esta macro ponla en el modulo thisworkbook, sino se sabe la clave no podrá guardar los cambios por cierto ponle password al código vba para que sea más difícil que alguien entre al código y lo cambie.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
CLAVE = InputBox("INTRODUZCA LA CLAVE")
If CLAVE = "PASSWORD" Then
    Cancel = False
Else
    Cancel = True
    MsgBox ("NO ESTA AUTORIZADO PARA GUARDAR ESTE ARCHIVO"), vbInformation, "AVISO"
End If
End Sub

Primero que todo gracias!

Pero tu macro no permite cerrar el archivo, pero si permite guardar.

Necesito que los otros usuarios:

Puedan abirir el archivo trabajar en el, visualizar etc.

Cuando lo terminen de ocupar SI lo puedan cerrar, pero que sus modificaciones no se guarden.

Lo mismo si alguien aprieta "guardar" o "guardar como" tampoco pueda.

Pero que si lo pueda cerrar, luego de utilizarlo.

ya lo solucione, muchas gracias!!

Bien vamos por partes, la macro eventos esta corregida ahora son dos partes, la primera cuando quieran cerrar el archivo, este lo cerrara sin guardar los cambios.

La segunda en caso de que insistan en guardar los cambios la macro te pedira un password que al no tenerlos no grabara nada, la macro funciona y te anexo la imagen

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ActiveWorkbook.Close Savechanges:=False
End Sub
'--------------------------------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
CLAVE = InputBox("INTRODUZCA LA CLAVE")
If CLAVE = "PASSWORD" Then
    Cancel = False
Else
    Cancel = True
    MsgBox ("NO ESTA AUTORIZADO PARA GUARDAR ESTE ARCHIVO"), vbInformation, "AVISO"
End If
End Sub

La macro funciona bien, solo que al cerrar el archivo, queda como en la imagen, no se cierra completamente "excel".

Usa esta macro, la macro cerrara el libro sin guardar los cambios y luego cerrara el excel.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ActiveWorkbook.Close Savechanges:=False
    application.quit
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas