PROGRAMAR EN VBA MACROS PARA EXCEL: Como proteger archivo leyendo numero de serie de la PC oculta hojas

Como proteger archivo leyendo numero de serie de la PC oculta hojas





En este post anteriores se mostró como determinar el número de serie de la PC, como dar acceso al archivo dependiendo del número de serie de la PC; en este post se muestra como darle utilidad a lo aprendido, es decir se presenta una macro que lee el número de serie de la PC y muestra hojas si es una PC autorizada.

Recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo Recorre fila buscando y comparando datos de dos columnas en hojas distintasbuscar en listbox mientras escribes en textbox, como crear una factura o sale invoice y grabar guardar PDF XLS y enviar por mailconectar Excel con Access y muchos ejemplos más.







  



El ejemplo consiste en que la macro leea el número de serie de la PC donde se está ejecutando el archivo, si coincide con el número de serie precargado en la macro, da acceso al libro mostrando las hojas ocultas, en caso de que la PC no esté autorizada cierra el libro ocultando las hojas.

El libro al cerrarse oculta las hojas con el método que solo es posible mostrarlas con código, no es factible mostrar las hojas desde las opciones que posee Excel para mostrar las hojas ocultas, el código que se utiliza para ocultar las hojas es el siguiente:

she.Visible = xlVeryHidden


⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Quizás también sea útil:

Formulario que solicita password para ejecutar una macro o acceder a libro

Como buscar datos y cargar imagen de catalogo en formulario

Como insertar imagen en comentario de Excel

⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛

Para mostrar las hojas se utiliza la estructura For Each... Next, que permite recorrer todas las hojas del libro mostrando las hojas con el primer código y ocultando las hojas con el segundo código:

she.Visible = True

she.Visible = xlVeryHidden


Reitero la ocultación de las hojas se produce siempre al cerrar el libro y de una forma que solo se pueden mostrar de nuevo a través de código VBA; es decir que por más que se tenga acceso al libro las hojas están ocultas, siendo una seguridad adicional que se le proporciona al archivo, además de la lectura de la lectura de el número de serie de la PC.

⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Quizás también sea útil:

Como Mostrar Ocultar el Ribbon o Menú de Excel
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛

El archivo de ejemplo denominado, como proteger archivo leyendo número de PC y ocultando hojas, se puede descargar desde el link del final en forma gratuita, considera aportar para sostener el sitio, al descargar el fichero se podrá observar un botón denominado ejecutar, presionando se puede ver la macro en acción.


Código que se inserta en ThisWorkbook


Private Sub Workbook_Open()
On Error Resume Next
With CreateObject("Scripting.FileSystemObject")
If Hex(.Drives.Item("c:").SerialNumber) = "415ADDC" Then '415ADDC
MsgBox ("Bienvenido, accesando a datos"), vbInformation
For Each she In Sheets
she.Visible = True
Next
Else
MsgBox ("Acceso denegado, usuario no autorizado"), vbCritical, "AVISO"
ThisWorkbook.Close savechanges = True
Application.Quit
End If
End With

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
For Each she In Sheets
she.Visible = xlVeryHidden
Next
End Sub


Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends