Proteger un archivo de Excel de ser copiado o modificado por otra persona

Tengo un archivo con un sistema de cobro pero no quiero que si lo cedo a otra persona este lo siga copiando o lo modifique. ¿Qué me recomiendan?

3 Respuestas

Respuesta

Si lo que quieres es únicamente que te ingrese la información; y que no realice cambios el, puedes proteger la (s) hoja(s) del libro de excel proporcionando permisos al momento de proteger la hoja.

Clic derecho sobre la hoja

Proteger hoja, Seleccionas que permisos le quieres asignar y pones la contraseña.

Respuesta
1

Por mas protecciones que le pongas a un archivo de Excel estas protecciones pueden romperse y lo se porque yo lo he hecho, puedes ponerle codigo al VBA y con un editor de caracteres binarios lo rompes, pones proteccion a las hojas y en internet consigues macros para romperlas, le pones proteccion al archivo y como quiera hay tutoriales de como rompera la clave, e incluso si pones proteccion con macro con no ejecutar la macro o impidiendo que Excel corra la macro deshabilitas esta proteccion, la unica es (no se si funcione) es irte al menu revisar, luego proteger libro y despues administrar credenciales esto ta bajara un archivo exe complemento de Excel que sirve para proteger con un programa externo el libro de Excel contra copias, contra abrirlo en otros equipos, le puedes poner fecha de caducidad a las copias y tu administras a quien le das una copia y en que equipos va a trabajar.

Respuesta

Si vos sos quien instaló el archivo en la PC y tenés acceso al mismo.

Una posibilidad es que obtengas el número de serie del disco (debajo te dejo una función que hace eso).

Una vez que tienes ese número de serie, cada vez que abras el archivo puedes verificar que coincida el número de serie y sino que se cierre el archivo

(Por supuesto para todo esto vas a tener que tener el módulo y archivo protegido con contraseña)

Function NroSerieDisco() As String
Dim fs, d, s, t, drvpath
drvpath = "C"
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(drvpath)))
Select Case d.DriveType
Case 0: t = "Desconocido"
Case 1: t = "Separable"
Case 2: t = "Fijo"
Case 3: t = "Red"
Case 4: t = "CD-ROM"
Case 5: t = "Disco RAM "
End Select
NroSerieDisco = d.SerialNumber
End Function

Salu2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas