Cómo crear mayor seguridad a las planillas de Excel.

Tengo una nueva pregunta, que quisiera que me pudiesen ayudar.

He averiguado mucho en internet acerca de cómo bloquear un archivo Excel, para que solo el usuario principal pueda utilizarlo. Y me encontré con lo siguiente:

Bloqueo de hojas con contraseña, (fácil de desbloquear)

Bloqueo de libro con contraseña, (fácil de desbloquear)

Bloqueo de código VBA, con contraseña, (fácil de desbloquear)

Bloqueo por medio de userforms, con usuario y contraseña simple, (si deshabilitan las macros pueden modificar).

Tambien encontré un programa llamado XlsToExe, que es buenísimo, pero que no puedo instalar en el pc donde trabajo porque están bloqueados estos archivos.

Una vez vi que un tipo, encriptó por medio de código VBA todos los procedimientos, y que si no se entraba de la forma correcta se estropeaba todo el archivo.

¿Alguien me podría ayudar con otra sugerencia para brindar mayor seguridad a las planillas Excel?

3 Respuestas

Respuesta
2

Me parece que ya revisaste varias opciones. Te puedo comentar que las empresas gastan millones de dólares en seguridad y aún así vemos o escuchamos en las noticias que hackearon la red de tal empresa o el sistema de x empresa fue hackeado por un adolescente, etc, etc.

Como ya comentaste pues nada es infalible, te anexo un par de macros que me pidieron para seguridad de la ejecución; las macros revisan el label de la máquina y la MacAddress de la máquina, sin no son las correctas, el archivo se cierra.

Sub ObtenerAddress()
'Por.Dante Amor
    MiAddress = GetMACAddress
    Select Case MiAddress
        Case "00:11:22:33:44:55", "66:77:88:99:aa:bb"
        Case Else: ActiveWorkbook.Close False
    End Select
End Sub
Sub mivol()
'Por.Dante Amor
    MiVolumen = Dir("c:\", vbVolume)
    Select Case MiVolumen
        Case "PCMiguel", "OtraPc"
        Case Else: ActiveWorkbook.Close False
    End Select
End Sub
Function GetMACAddress() As String
'Referencia: http://pdevoir.blogspot.mx/2013/08/excel-vba-function-for-getting-mac.html
    Dim objVMI As Object
    Dim vAdptr As Variant
    Dim objAdptr As Object
    Dim adptrCnt As Long
    Dim adres As String
    adres = ""
    Set objVMI = GetObject("winmgmts:\\" & "." & "\root\cimv2")
    Set vAdptr = objVMI.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
    For Each objAdptr In vAdptr
        If Not IsNull(objAdptr.MACAddress) And IsArray(objAdptr.IPAddress) Then
            For adptrCnt = 0 To UBound(objAdptr.IPAddress)
                If Not objAdptr.IPAddress(adptrCnt) = "0.0.0.0" Then
                    GetNetworkConnectionMACAddress = objAdptr.MACAddress
                    Exit For
                End If
            Next adptrCnt
             'MsgBox "Your MAC Address is: " & GetNetworkConnectionMACAddress
            adres = GetNetworkConnectionMACAddress
        End If
    Next
    GetMACAddress = adres
End Function
Respuesta
2

Analizando tus puntos, solo quiero hacer una aclaración en el tema:

Bloqueo por medio de userforms, con usuario y contraseña simple, (si deshabilitan las macros pueden modificar).

Si este punto está bien programado, no es posible que accedan a ninguna hoja.

Si al cerrar el libro una macro te oculta todas las hojas de modo seguro (con visible = xlveryHidden) dejando solo una hoja de portada, al no habilitar las macros no verán nada más que esa hoja. Con esta instrucción no se accede a las hojas desde el menú Formato, Mostrar.

Es decir que si no habilitan las macros esto pasaría a ser uno de los métodos más seguros. La macro de la respuesta de dante es una buena opción... si habilitan las macros, porque sinó el control no se hace y de nada te sirve.

Con respecto al exe, una vez tuve un libro en ese formato pero una vez abierto lo pude guardar como xls... no sé si el software no era del todo bueno con el que fue creado pero en ese caso no justificó el formato.

Y por último... considera que vas a trabajar con gente normal, que tendrá más o menos los mismos conocimientos: Usando todas esas opciones que detallaste más lo que se te agregó en estas 2 respuestas, creo que podés quedarte bastante tranquilo.

Sdos!

¡Gracias! Elsa

me sirvió mucho tu información es una muy buena alternativa, lo complejo es que si desbloquean el VBA también pueden volver a hacer visibles las hojas. Lo otro que me comentas de XlsToExe, tiene una opción de bloquearle el guardar como, entonces no podrían volverlo xls. Creo que lo que me nombras de ocultar las hojas es lo que finalmente voy a realizar, muchas gracias.

Respuesta
1

Solo para complementar, (dejando en claro que no soy experto) comentarte que yo tengo las mismas inquietudes que tu, y yo si pude trabajar con el exe que comentas, esa aplicación está excelente, el problema que tuve es que previamente antes de convertir un xl a exe le programe en vba la cancelación de "guardar como..", este código funciona solo en xl ya que al convertirlo en ejecutable permite guardarlo nuevamente en xl.

El autor de esa aplicación me comentó que XltoEx no fue diseñado dando prioridad a la seguridad y me sugirió los metodos que Dante y Elsa amablemente te compartieron...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas