La seguridad es un tema de suma importancia cuando trabajamos con macros en Excel.
Si abrimos libros de trabajo de fuentes externas que contienen macros, esas macros podrían ser dañinas para nuestro equipo.
Por esa razón, Excel nos protege de manera predeterminada de ejecutar macros, y no dejará que se ejecuten automáticamente al abrir un archivo.
Todo esto hace sentido hasta que comenzamos a crear nuestras propias macros, ya que probablemente querremos cambiar la configuración de seguridad de macros.
¿Qué riesgo tienen las macros?
Como sabemos, las macros automatizan las tareas de uso frecuente y nos ahorran tiempo en las pulsaciones de teclas y las acciones repetitivas del ratón.
Aunque las macros son de gran ayuda para cientos y miles de usuario de Excel, también pueden ser creadas por personas mal intencionadas y representar un riesgo potencial para la seguridad.
Por ejemplo, usando maros de Excel es posible instalar malware en un computador que inclusive podría propagarse a la red de computadoras de una empresa.
Descargar archivos de Internet de sitios no seguros o abrir archivos adjuntos que nos ha enviado por correo un desconocido puede ser una amenaza muy grande para la seguridad informática.
Por esta razón, Excel y el resto de las aplicaciones Office, deshabilitan por defecto la ejecución automática de macros.
Configuración de seguridad de macros
Es posible cambiar la configuración de seguridad de las macros para indicarle a Excel la acción a tomar cuando se intente abrir un archivo que contenga una macro.
Para modificar esta configuración debemos ir a Archivo > Opciones > Centro de confianza > Configuración del Centro de confianza > Configuración de macros.
Si tienes habilitada la pestaña Programador puedes ahorrarte los pasos anteriores ya que dentro del grupo Código encontramos el comando Seguridad de macros que abrirá el mismo cuadro de diálogo.
Las opciones que tenemos disponibles para configurar la seguridad de las macros con las siguientes:
- Deshabilitar las macros de VBA sin notificación: Esta opción impedirá la ejecución de cualquier macro y ni siquiera te enterarás porque no habrá aviso alguno de parte de Excel. Con esta opción la única manera de ejecutar una macro es colocar el archivo en una ubicación de confianza y abrirlo desde ahí.
- Deshabilitar macros de VBA con notificación: Esta es la opción por defecto de Excel donde vemos una advertencia debajo de la cinta de opciones con la posibilidad de habilitar las macros contenidas en el archivo.
- Deshabilitar las macros de VBA excepto las firmadas digitalmente: Esta configuración solo permite la ejecución de macros que han sido firmadas por alguien en quien confiamos. De ser así, la macro se ejecutará automáticamente, pero si no proviene de un editor en quien hayamos confiado, se enviará una notificación. Las macros que no han sido firmadas serán deshabilitadas sin notificación.
- Habilitar todas las macros de VBA (no recomendado; se puede ejecutar un código potencialmente peligroso): Esta opción es la más insegura ya que permite la ejecución de las macros de cualquier archivo al momento de abrirlo.
Las opciones anteriores se eligen con un botón de opción y solo podemos elegir una de ellas a la vez, pero existen un par de configuraciones adicionales en la parte inferior del panel que podemos elegir a través de una caja de selección.
- Habilitar macros de Excel 4.0 cuando las macros de VBA están habilitadas: Antes de que existieran las macros basadas en lenguaje VBA, existían las macros basadas en lenguaje XLM que son conocidas como macros de Exel 4.0. Estas macros están deshabilitadas por completo, pero si por alguna razón tienes la necesidad de habilitarlas, deberás activar esta casilla de selección.
- Confiar en el acceso al modelo de objetos de proyectos VBA: Esta opción permite el acceso programático al modelo de objetos de VBA desde un cliente de automatización, es decir, un código o programa externo que puede automatizar programas de Office accediendo el entorno VBA. Lo mejor es dejar esta opción siempre inactiva a menos de que sepas lo que estás haciendo.
Ubicaciones de confianza
Existe una manera de evitar las validaciones de seguridad revisadas en la sección anterior y es a través de las ubicaciones de confianza.
Las ubicaciones de confianza son carpetas en nuestro equipo en las que Excel, o cualquier aplicación Office, confía al momento de abrir los archivos.
Cuando colocamos un archivo en una ubicación de confianza, ese archivo no será comprobado con las reglas establecidas en el Centro de confianza.
Los archivos con macros que coloquemos en una ubicación de confianza serán considerados archivos seguros y se omitirán las comprobaciones de seguridad.
Podemos ver las ubicaciones de confianza desde el cuadro de diálogo del Centro de confianza: Archivo > Opciones > Centro de confianza > Configuración del Centro de confianza > Ubicaciones de confianza.
Desde este panel podemos agregar, quitar o modificar las ubicaciones de confianza configuradas en nuestro equipo.