Cómo arreglar la pestaña personalizada de la cinta de opciones de VBA en Word que desaparece tras una actualización de office 365
🔍 WiseChecker

Cómo arreglar la pestaña personalizada de la cinta de opciones de VBA en Word que desaparece tras una actualización de office 365

Tras una actualización de Office 365, tu pestaña personalizada de la cinta de opciones creada con VBA puede desaparecer. Esto ocurre porque las actualizaciones pueden restablecer o modificar el almacenamiento de personalización de la cinta en el Registro de Windows. Este artículo explica por qué la actualización rompe la pestaña personalizada y proporciona un método fiable para restaurarla usando tanto código VBA como edición manual del registro.

Conclusiones clave: Restaurar una pestaña personalizada de la cinta de opciones de VBA que falta después de una actualización de Office

  • XML de la cinta de opciones de VBA en la plantilla Normal.dotm: La definición de la pestaña personalizada debe almacenarse en Normal.dotm para que sobreviva a las actualizaciones y a los restablecimientos del perfil de usuario.
  • Clave del Registro HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Options: Si la clave falta o está dañada, la pestaña personalizada no se cargará; restaurarla o recrearla soluciona el problema.
  • Archivo > Opciones > Complementos > Administrar complementos COM > Ir: Verifica que el complemento del proyecto VBA esté habilitado; un complemento deshabilitado bloquea la aparición de la cinta personalizada.

ADVERTISEMENT

Por qué las actualizaciones de Office 365 hacen que las pestañas personalizadas de la cinta de opciones desaparezcan

Las actualizaciones de Office 365 a menudo restablecen el perfil de usuario o modifican las entradas del Registro que almacenan las personalizaciones de la cinta. Word carga las pestañas personalizadas de la cinta desde el elemento CustomUI dentro de un proyecto VBA. Este proyecto se almacena típicamente en la plantilla global Normal.dotm. Cuando se ejecuta una actualización, puede reemplazar Normal.dotm con una versión nueva, eliminando tu código VBA y el XML de la cinta que define la pestaña personalizada.

Además, la actualización puede eliminar o corromper la clave del Registro que le dice a Word que cargue el complemento del proyecto VBA. Sin esa clave, Word ignora por completo tu código de cinta personalizada. El problema no es que el código VBA sea incorrecto, sino que la infraestructura que Word usa para cargarlo ha sido alterada.

El papel de la plantilla Normal.dotm

Normal.dotm es la plantilla global predeterminada que se carga cada vez que Word se inicia. Cualquier código VBA almacenado en su módulo ThisDocument con una devolución de llamada de XML de cinta CustomUI se aplica a todos los documentos. Si la actualización reemplaza Normal.dotm, tu pestaña personalizada desaparece porque el XML ya no está presente.

La clave del Registro que controla la carga del complemento VBA

Word verifica la clave del Registro HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Options para un valor de cadena llamado DefaultGlobalDotName. Si este valor falta o apunta a un archivo que no existe, Word recurre a un Normal.dotm nuevo sin tus personalizaciones. La actualización también puede eliminar la subclave VBAProject que habilita el complemento del proyecto VBA.

Pasos para restaurar la pestaña personalizada que falta

Sigue estos pasos en orden. Necesitarás recrear el XML de la cinta en Normal.dotm y reparar la clave del Registro si es necesario.

  1. Abre el editor de VBA y verifica Normal.dotm
    Presiona Alt+F11 para abrir el editor de VBA. En el Explorador de proyectos, expande Normal y haz doble clic en ThisDocument. Busca código XML de cinta existente. Si el módulo está vacío, continúa con el paso 2. Si el código está presente, salta al paso 3.
  2. Inserta el código XML de la cinta personalizada en Normal.dotm
    En la ventana de código de ThisDocument, pega tu XML de cinta original dentro de la devolución de llamada CustomUI. El código debe usar la interfaz IRibbonUI. Un ejemplo típico:
    Private Sub Document_Open()
        ' Ribbon XML is stored in the CustomUI element
    End Sub
    '#Region "Ribbon XML"
    ' Paste your XML here
    '#End Region

    Guarda Normal.dotm haciendo clic en Archivo > Guardar Normal.dotm.

  3. Verifica que el complemento del proyecto VBA esté habilitado
    En Word, ve a Archivo > Opciones > Complementos. En la parte inferior, junto a Administrar, selecciona Complementos COM y haz clic en Ir. Asegúrate de que Proyecto VBA esté marcado. Si falta, haz clic en Agregar, navega a C:\Program Files\Microsoft Office\root\Office16\VBAProject.dll y agrégalo.
  4. Repara la clave del Registro para la plantilla global
    Presiona Win+R, escribe regedit y presiona Enter. Navega a HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Options. Haz clic derecho en el panel derecho, selecciona Nuevo > Valor de cadena, nómbralo DefaultGlobalDotName y establece su valor en Normal.dotm. Cierra el Editor del Registro.
  5. Reinicia Word y prueba la pestaña personalizada
    Cierra Word por completo. Abre Word nuevamente. Tu pestaña personalizada debería aparecer. Si no aparece, repite los pasos 3 y 4, y luego reinicia tu computadora.

ADVERTISEMENT

Si la pestaña personalizada aún no aparece

Si la solución principal no funcionó, uno de estos problemas relacionados puede estar bloqueando la pestaña personalizada.

Word deshabilita las macros de VBA después de la actualización

Las actualizaciones de Office 365 a veces cambian la configuración de seguridad de macros. Ve a Archivo > Opciones > Centro de confianza > Configuración del Centro de confianza > Configuración de macros. Selecciona Habilitar todas las macros (no recomendado para uso a largo plazo) o Habilitar macros VBA (no recomendado, el código potencialmente peligroso puede ejecutarse). Haz clic en Aceptar y reinicia Word.

El XML de la cinta personalizada contiene un error

Un atributo XML inválido o un procedimiento de devolución de llamada faltante impide que la cinta se cargue. En el editor de VBA, presiona Ctrl+G para abrir la ventana Inmediato. Escribe Debug.Print Application.CommandBars.GetPressedMso "RibbonXML" y presiona Enter. Si ves un mensaje de error, corrige la sintaxis XML. Los errores comunes incluyen etiquetas no coincidentes o nombres de devolución de llamada onAction incorrectos.

Otro complemento entra en conflicto con la cinta personalizada

Los complementos de terceros pueden anular las pestañas personalizadas de la cinta. Inicia Word en modo seguro presionando Ctrl y haciendo doble clic en el icono de Word. Haz clic en cuando se te solicite. Si la pestaña personalizada aparece en modo seguro, deshabilita los complementos uno por uno en Archivo > Opciones > Complementos > Administrar complementos COM > Ir hasta que identifiques el conflicto.

Comparación de métodos para almacenar el XML de la cinta personalizada

Elemento Normal.dotm (Recomendado) VBA específico del documento
Persistencia después de la actualización de Office Sobrevive si la plantilla no se reemplaza Se pierde si el documento no se abre
Alcance de la pestaña personalizada Disponible en todos los documentos Solo en ese documento específico
Dependencia del Registro Requiere la clave DefaultGlobalDotName Sin dependencia del Registro
Facilidad de copia de seguridad Haz una copia de seguridad del archivo Normal.dotm Haz una copia de seguridad del archivo .docm

Almacenar el XML de la cinta en Normal.dotm es el método más fiable para una pestaña personalizada que debe sobrevivir a las actualizaciones de Office. El almacenamiento específico del documento es más simple pero no proporciona acceso global.

Ahora puedes restaurar una pestaña personalizada que falta recreando el XML en Normal.dotm, habilitando el complemento del proyecto VBA y reparando la clave del Registro. Después de la corrección, haz una copia de seguridad de tu archivo Normal.dotm en una ubicación segura. Como consejo avanzado, usa el método IRibbonUI.Invalidate en tu código VBA para forzar que la cinta se recargue después de cualquier actualización, evitando que la pestaña desaparezca nuevamente.

ADVERTISEMENT