Nuestro proyectos en Excel pueden contener simples tablas con un par de funciones, o bien macros con cientos o miles de líneas de código. Si el caso es el segundo, lo cual generalmente nos habla de trabajos de mediana/alta complejidad, necesitaremos saber con que tipo de computadora estamos trabajando. Y esto nos será de suma utilidad para averiguar el usuario que está ejecutando nuestro proyecto, disco raíz, en que disco se encuentra instalado Excel o el Sistema Operativo, donde se guardan localmente los archivos, etc, etc.
Todos los items anteriormente mencionados, y muchos otros (como la marca, modelo y arquitectura del microprocesador), el sistema operativo los guarda en las llamadas "Variables de Entorno"
[+/-] Ver el resto / Ocultar
Desde VBA tenemos, como no podría ser de otra forma, acceso a esas Variables de Entorno del SO, mediante la matriz Environ$, reservada de VBA.
Podrán apreciar en la imagen que sigue el código necesario para volcar a nuestra planilla las Variables de Entorno existentes, y al lado su respectivo valor:
El código arriba descripto nos arrojará este resultado, el cual voy a ir mostrando "fraccionado" por una cuestión de espacio:
Números de procesadores, directorios temporales, directorio de Windows, nombre de usuario, nombre del ordenador, directorio público, datos de programas, etc, etc, etc. La información obtenida es muy valiosa para distintos procesos, especialmente aquellos referidos a la obtención de directorios específicos.
No olvidemos que desde la configuración avanzada de nuestro sistema operativo podemos crear nuestras propias variables de entorno:
formulario del sistema
Toda vez que presionamos el botón resaltado, tendremos acceso a la siguiente pantalla:
notarán que existen dos tipos: las variables de usuario y las del sistema. En ambas opciones tenemos el botón "Nueva", para crearla.
Una variable de Usuario sólo será visible para el usuario en donde fué creada. En cambio, una de Sistema podrá ser visualizada por todos. Recomiendo no tocar en lo absoluto los botones "editar" o "eliminar", salvo que seamos administradores con conocimientos avanzados en lo que estamos haciendo.
Creamos una nueva variable de Sistema:
para el ejemplo le asigno el valor 100 y presiono aceptar.
La veremos disponible en la lista anterior:
Y si corremos el código que desarrollamos anteriormente:
nuestra variable de entorno BlogExcel aparece en la lista.
Y cual es la ventaja de tener a BlogExcel entre las variables de entorno? Podemos mencionar que ahora hay valores guardados en nuestro SO, que estarán visibles a cualquier programa, con lo cual nos resultará muy fácil intercambiar datos entre aplicaciones.
Pero lo mas importante de todo esto es saber que existen y acceder a su valor. Si sabemos en que que lugar de la PC se almacenan los programas, los podremos ejecutar. O bien llevar registros de los eventos dentro de Excel (como anotar quien entra, modifica y sale de nuestros proyectos), guardando estos logs en las carpetas del sistema. Un ejemplo:
Si luego me dirijo a la ruta especificada, encuentro mi archivo log:
Y dentro del archivo, la cadena de valores que grabé con el procedimiento
Auto_Open:
Los usos son infinitos. Tambien podríamos ver que usuario está accediendo a nuestros proyectos y autorizar o no su ingreso a ciertas características. O también configurar ciertas características (tipo de letras, colores, cantidad de hojas, etc, etc) a cada usuario en particular.
Habrán notado que al Sub anterior lo denominé
Auto_Open(). Y esto no es casual, ya que si le damos ese nombre a un procedimiento, se ejecutará si o si al abrir el libro. Y si definimos uno como
Auto_Close(), todo el código inserto dentro de el correrá cuando el usuario cierre el libro.
Queda el post abierto a cualquier consulta.
Link al archivo
Comentarios
Publicar un comentario