Hola a todos, ¿qué tal estáis?.
Ayer por la noche un lector me preguntaba cómo podría incluir un botón de comando en su hoja Excel para poder bloquear su equipo cada vez que lo pulsase. Al parecer, la mayor parte del tiempo de su jornada laboral tiene que estar controlando un cuadro de mando realizado en Excel y en muchas ocasiones cuando se ausenta de su puesto de trabajo debe dejar el equipo bloqueado (al instante) pulsando control + alt + supr y luego indicar «bloquear» y por eso quiere que con solo pulsar un botón lo haga.
Esto se puede realizar también con Excel, en concreto utilizando la función LockWorkStation y programando en VBA. Es bastante sencillo de realizar y basta con unas pocas líneas de código.
La forma más sencilla de hacerlo es así:
Declare Function LockWorkStation Lib "user32.dll" () As Long
Sub Bloquear_equipo()
LockWorkStation
End Sub
En efecto, declaramos la función haciendo referencia a la librería y luego lo ejecutamos en un procedimiento Sub.
Obviamente, podemos incluir una multitud de tareas o modificaciones, por ejemplo llamando a la función desde ThisWorkBook en cualquiera de los eventos predefinidos, por ejemplo cuando cambiemos de hoja, cuando el libro no esté activo, etc.
Es un código muy simple, pero en algunas circunstancias puede ser interesante, sobre todo cuando desarrollamos nuestro trabajo utilizando la misma hoja o el mismo libro durante mucho tiempo.
También se podría incluir otra línea de código que además de bloquear el equipo, antes realice una copia de seguridad de nuestro archivo. Pero esa parte os la dejo a vosotros para que vayáis investigando poco a poco : )
Espero que os haya resultado de utilidad!.
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡Muchas gracias!!