Cómo firmar una macro VBA de Word con selfcert
🔍 WiseChecker

Cómo firmar una macro VBA de Word con selfcert

Ha escrito una macro VBA en Word que desea ejecutar sin ver la advertencia de seguridad cada vez. Word bloquea las macros no firmadas de forma predeterminada a menos que el documento esté en una ubicación de confianza. Firmar su macro con un certificado autofirmado le indica a Word que usted creó el código y le permite habilitarlo para su propio uso. Este artículo explica cómo crear un certificado autofirmado con la herramienta SelfCert y cómo aplicar esa firma a su proyecto de VBA.

Puntos clave: Firmar macros VBA con SelfCert

  • SelfCert.exe en la carpeta Herramientas de Office: Crea un certificado digital personal que puede usar para firmar sus propios proyectos de VBA.
  • Herramientas > Firma digital en el editor de VBA: Abre el cuadro de diálogo para elegir su certificado y aplicar la firma al proyecto actual.
  • Centro de confianza > Configuración de macros > Confiar en el acceso al modelo de objetos de proyectos de VBA: Debe estar habilitado antes de poder firmar un proyecto de forma programática o manual.

ADVERTISEMENT

Qué hace SelfCert y por qué lo necesita

SelfCert es una herramienta gratuita incluida con Microsoft Office. Genera un certificado digital en su máquina local. Este certificado no es emitido por una autoridad de terceros de confianza como VeriSign o DigiCert. Solo es válido en el equipo donde se creó. Cuando firma una macro con un certificado autofirmado, la firma demuestra que el código provino de usted y que no ha sido alterado desde la firma.

Word comprueba el certificado cuando abre un documento que contiene macros. Si el certificado no es de confianza, Word muestra una advertencia de seguridad. Para confiar en su propio certificado autofirmado, debe agregarlo al almacén de Editores de confianza en su máquina. Después de hacerlo, Word ejecutará sus macros firmadas sin solicitar confirmación.

SelfCert es ideal para desarrolladores individuales que escriben macros para su propio uso o para su implementación dentro de un equipo pequeño donde todos los usuarios pueden instalar el mismo certificado autofirmado. Para macros distribuidas a muchos usuarios fuera de su organización, necesita un certificado de una Autoridad de certificación comercial.

Requisitos previos

Antes de comenzar, verifique lo siguiente:

  • Microsoft Office está instalado. SelfCert forma parte del grupo Herramientas de Office.
  • Tiene derechos de administrador en su máquina Windows para instalar el certificado en el almacén de Editores de confianza.
  • El proyecto de VBA que desea firmar no está protegido con contraseña. Si lo está, elimine la contraseña primero.

Pasos para crear un certificado autofirmado y firmar su macro

  1. Localice y ejecute SelfCert.exe
    En Windows 11 o Windows 10, abra el Explorador de archivos y navegue a la carpeta Herramientas de Office. La ruta predeterminada es C:\Program Files (x86)\Microsoft Office\root\Office16 o C:\Program Files\Microsoft Office\root\Office16. Busque un archivo llamado SelfCert.exe. Haga doble clic en él para iniciar el cuadro de diálogo Crear certificado digital.
  2. Asigne un nombre a su certificado
    En el cuadro de diálogo, escriba un nombre descriptivo para su certificado, como “Mi certificado de macro 2025”. Haga clic en Aceptar. La herramienta crea el certificado y lo almacena en su almacén de certificados personal. Aparece un mensaje de confirmación.
  3. Abra el editor de VBA en Word
    En Word, presione Alt+F11 para abrir el editor de Visual Basic para Aplicaciones. En el panel Explorador de proyectos, seleccione el proyecto que contiene la macro que desea firmar.
  4. Abra el cuadro de diálogo Firma digital
    En el editor de VBA, haga clic en el menú Herramientas y luego elija Firma digital. Se abre el cuadro de diálogo Firma digital que muestra el estado actual de la firma del proyecto.
  5. Elija su certificado
    Haga clic en el botón Elegir. En el cuadro de diálogo Seleccionar certificado, busque el certificado que creó en el paso 2. Selecciónelo y haga clic en Aceptar. El nombre del certificado ahora aparece en el cuadro de diálogo Firma digital bajo “El proyecto de VBA está firmado actualmente con”.
  6. Aplique la firma
    Haga clic en Aceptar en el cuadro de diálogo Firma digital. Word firma el proyecto de VBA con su certificado autofirmado. Guarde el documento para conservar la firma.

Agregue el certificado a Editores de confianza

Después de firmar, Word aún no confía en el certificado de forma predeterminada. Complete estos pasos para que Word confíe en su certificado autofirmado:

  1. Abra el documento que contiene la macro firmada
    Haga doble clic en el documento. Word muestra una barra de advertencia de seguridad debajo de la cinta de opciones. Haga clic en la pestaña Archivo y luego en Información.
  2. Habilite la macro y confíe en el editor
    En el panel Información, haga clic en el botón Habilitar contenido. Aparece un menú desplegable. Seleccione Opciones avanzadas. En el cuadro de diálogo Opciones de seguridad de Microsoft Office, seleccione el botón de opción “Confiar en todos los documentos de este editor”. Haga clic en Aceptar.
  3. Verifique que el editor sea de confianza
    Abra Word de nuevo. Vaya a Archivo > Opciones > Centro de confianza > Configuración del Centro de confianza > Editores de confianza. Debería ver su certificado autofirmado en la lista.

ADVERTISEMENT

Si la firma no se aplica o la macro sigue mostrando una advertencia

El cuadro de diálogo Firma digital muestra “No hay certificado disponible”

Es posible que SelfCert.exe no se haya ejecutado correctamente o que el certificado se haya creado en el almacén incorrecto. Ejecute SelfCert.exe de nuevo y asigne un nuevo nombre al certificado. Si el problema persiste, abra el Administrador de certificados presionando Win+R, escribiendo certmgr.msc y presionando Entrar. Busque en Personal > Certificados. Si su certificado no aparece, ejecute SelfCert.exe como administrador.

Word sigue bloqueando la macro después de firmarla

La causa más común es que el certificado autofirmado no se agregó al almacén de Editores de confianza. Repita los pasos de la sección “Agregue el certificado a Editores de confianza”. Si ya lo hizo, revise la configuración del Centro de confianza. Vaya a Archivo > Opciones > Centro de confianza > Configuración del Centro de confianza > Configuración de macros. Seleccione “Deshabilitar todas las macros excepto las firmadas digitalmente”. Esta configuración permite que solo se ejecuten las macros firmadas. Si elige “Habilitar todas las macros”, Word ignora la firma por completo.

La firma se rompe después de editar la macro

Cualquier modificación al código de VBA invalida la firma digital. Después de editar una macro, debe firmar el proyecto nuevamente. Abra el editor de VBA, seleccione el proyecto y repita los pasos 4 a 6 de la lista de instrucciones principal.

SelfCert.exe no está instalado

Algunas ediciones de Office, como Office Hogar y Estudiantes, no incluyen SelfCert.exe. Si no puede encontrar el archivo, puede instalarlo desde el Centro de descargas de Microsoft buscando “SelfCert.exe download”. Como alternativa, use el comando de PowerShell New-SelfSignedCertificate para generar un certificado y luego impórtelo al almacén Personal usando el Administrador de certificados.

Certificado autofirmado vs certificado de firma de código comercial

Elemento Certificado autofirmado Certificado de firma de código comercial
Costo Gratis De pago, normalmente $100–$500 por año
Ámbito de confianza Solo en el equipo donde se creó y se confió Confiado por todos los equipos Windows de forma predeterminada
Distribución Adecuado para uso personal o equipos pequeños de confianza Requerido para distribución pública a muchos usuarios
Vencimiento Normalmente de 1 a 10 años, establecido durante la creación De 1 a 3 años, debe renovarse
Revocación No se puede revocar de forma centralizada Puede ser revocado por la Autoridad de certificación

Ahora puede firmar sus propias macros VBA usando SelfCert y configurar Word para que confíe en su certificado autofirmado. Después de firmar, pruebe la macro cerrando y volviendo a abrir el documento y verificando que no aparezca ninguna advertencia de seguridad. Para una solución más permanente en un entorno corporativo, solicite un certificado de firma de código a su departamento de TI o compre uno a una Autoridad de certificación de confianza. Como paso avanzado, considere usar la utilidad de línea de comandos SignTool para firmar macros de forma programática durante un proceso de compilación.

ADVERTISEMENT