Compartir a través de


Solucionar problemas de activación de complementos contextuales de Outlook | Microsoft Docs

La activación del complemento contextual de Outlook se basa en las reglas de activación de un manifiesto XML para el complemento. Cuando las condiciones del elemento seleccionado cumplen las reglas de activación del complemento, la aplicación activa y muestra el botón del complemento en la interfaz de usuario de Outlook (panel de selección de complementos para complementos de redacción, barra de complementos para complementos de lectura). Pero, si el complemento no se activa de la manera esperada, tiene que fijarse en las siguientes áreas para buscar las posibles razones.

Importante

Los complementos contextuales de Outlook basados en entidades se retirarán en el segundo trimestre de 2024. El trabajo para retirar esta característica comenzará en mayo y continuará hasta finales de junio. Después de junio, los complementos contextuales ya no podrán detectar entidades en elementos de correo para realizar tareas en ellos. También se retirarán las siguientes API.

Para ayudar a minimizar las posibles interrupciones, se seguirá admitiendo lo siguiente después de que se retiren los complementos contextuales basados en entidades.

  • Se está desarrollando una implementación alternativa del botón Unirse , que se activa mediante complementos de reunión en línea. Una vez finalizada la compatibilidad con complementos contextuales basados en entidades, los complementos de reunión en línea pasarán automáticamente a la implementación alternativa para activar el botón Unirse . Durante la transición a esta implementación, es posible que el botón Combinar no esté visible al usar un complemento de reunión en línea. Como solución alternativa, debe seleccionar el vínculo de reunión en el cuerpo de la invitación a la reunión para unirse directamente a la reunión.
  • Las reglas de expresión regular seguirán siendo compatibles después de retirar los complementos contextuales basados en entidades. Se recomienda actualizar el complemento contextual para usar reglas de expresión regular como solución alternativa. Para obtener instrucciones sobre cómo implementar estas reglas, vea Usar reglas de activación de expresiones regulares para mostrar un complemento de Outlook.

Para obtener más información, vea Retirada de complementos contextuales de Outlook basados en entidades.

¿El buzón de usuario está en una versión de Exchange Server que es al menos Exchange 2016?

En primer lugar, asegúrese de que la cuenta de correo electrónico del usuario con la que está probando se encuentra en una versión de Exchange Server que sea al menos Exchange 2016. Si usa características específicas que se publican después de Exchange 2016, asegúrese de que la cuenta del usuario se encuentra en la versión adecuada de Exchange.

Puede comprobar la versión de Exchange mediante uno de los siguientes enfoques.

  • Consultarlo con el administrador de Exchange Server.

  • Si va a probar el complemento en Outlook en la Web o dispositivos móviles, en un depurador de scripts (por ejemplo, el depurador de JScript que incluye Internet Explorer), busque el atributo src de la etiqueta de script que especifica la ubicación desde la que se cargan los scripts. La ruta de acceso debe contener una subcadena owa/15.0.516.x/owa2/..., donde 15.0.516.x representa la versión de la Exchange Server, como 15.0.516.2.

  • Otra opción es usar la propiedad Office.context.mailbox.diagnostics.hostVersion para comprobar la versión. En Outlook en la Web, en dispositivos móviles y en el nuevo Outlook en Windows (versión preliminar), esta propiedad devuelve la versión del Exchange Server.

  • Si puede probar el complemento en Outlook, puede usar la siguiente técnica de depuración sencilla que usa el modelo de objetos de Outlook y Visual Basic Editor.

    1. En primer lugar, compruebe que las macros estén habilitadas para Outlook. Seleccione Archivo, Opciones, Centro de confianza, Configuración del centro de confianza, Configuración de macros. Asegúrese de que, en el Centro de confianza, la opción Notificaciones para todas las macros esté seleccionada. También debería haber seleccionado Habilitar macros al iniciar Outlook.

    2. En la pestaña Desarrollador de la cinta de opciones, seleccione Visual Basic.

      Nota:

      ¿No ve la pestaña Desarrollador? Para activarla, consulte Procedimiento para mostrar la pestaña Desarrollador en la cinta de opciones.

    3. En el Editor de Visual Basic, seleccione Vista, Ventana Inmediato.

    4. Para mostrar la versión de Exchange Server, escriba lo siguiente en la ventana Ejecución. La versión principal del valor devuelto debe ser igual a o superior a 15.

      • Si solo existe una cuenta de Exchange en el perfil del usuario:
       ?Session.ExchangeMailboxServerVersion
      
      • Si hay varias cuentas de Exchange en el mismo perfil de usuario (emailAddress representa una cadena que contiene una dirección SMTP principal del usuario):
       ?Session.Accounts.Item(emailAddress).ExchangeMailboxServerVersion
      

¿Está disponible el complemento?

Outlook en Windows y en Mac puede hacer que un complemento no esté disponible debido a motivos de rendimiento, incluido el exceso de umbrales de uso para el núcleo de CPU o la memoria, la tolerancia a bloqueos y el tiempo necesario para procesar todas las expresiones regulares de un complemento. Cuando esto sucede, Outlook en Windows y en Mac muestran una notificación de que está haciendo que un complemento no esté disponible.

Nota:

Solo Outlook clásico en Windows y Outlook en Mac supervisan el uso de recursos. Sin embargo, un complemento no disponible en Outlook clásico en Windows o Outlook en Mac también deja de estar disponible en Outlook en la Web, en dispositivos móviles y en el nuevo Outlook en Windows (versión preliminar).

Compruebe la lista de complementos instalados para comprobar si un complemento está disponible. Para obtener instrucciones sobre cómo ver los complementos en Outlook, vea Usar complementos en Outlook.

¿Son los elementos probados compatibles con complementos de Outlook? ¿El elemento seleccionado se entrega mediante una versión de Exchange Server que es al menos Exchange 2016?

Si el complemento de Outlook es uno de lectura y debe activarse cuando el usuario está viendo un mensaje (incluyendo mensajes de correo electrónico, convocatorias de reunión, respuestas y cancelaciones) o una cita, aunque estos elementos por lo general son compatibles con complementos y existen excepciones. Compruebe si el elemento seleccionado es uno de los que aparecen en la lista donde los complementos de Outlook no se activan.

Además, dado que las citas siempre se guardan en formato de texto enriquecido, una regla ItemHasRegularExpressionMatch que especifica un valor PropertyName de BodyAsHTML no activaría un complemento en una cita o mensaje guardado en texto sin formato o formato de texto enriquecido.

Incluso si un elemento de correo no es uno de los tipos anteriores, si el elemento no se entregara mediante una versión de Exchange Server que sea al menos Exchange 2016, las entidades y propiedades conocidas, como la dirección SMTP del remitente, no se identificarían en el elemento. No se cumplirían las reglas de activación que dependen de estas entidades o propiedades y no se activaría el complemento.

¿Está el manifiesto de complemento instalado correctamente? ¿Tiene Outlook una copia de él en la memoria caché?

Nota:

Las características de complemento de Outlook que dependen de las reglas de activación no se admiten cuando el complemento usa un manifiesto unificado para Microsoft 365.

Este escenario solo se aplica a Outlook en Windows. Normalmente, cuando instala un complemento de Outlook para un buzón, Exchange Server copia el manifiesto de complemento desde la ubicación que usted indique al buzón de ese Exchange Server. Cada vez que se inicia Outlook, lee todos los manifiestos instalados para ese buzón en una caché temporal en la siguiente ubicación.

%LocalAppData%\Microsoft\Office\16.0\WEF

Por ejemplo, para el usuario John, la caché podría estar en C:\Users\john\AppData\Local\Microsoft\Office\16.0\WEF.

Si un complemento no se activa para ningún elemento, es posible que el manifiesto no se haya instalado correctamente en el Exchange Server o que Outlook no haya leído correctamente el manifiesto al iniciarse. Utilice el Centro de administración de Exchange para asegurarse de que el complemento esté instalado y habilitado para el buzón y, si es necesario, reinicie Exchange Server.

En la ilustración siguiente se muestra un resumen de los pasos para comprobar si Outlook tiene una versión válida del manifiesto.

Gráfico de flujo para comprobar el manifiesto.

El procedimiento siguiente describe los detalles.

  1. Si ha modificado el manifiesto mientras Outlook está abierto y no usa Visual Studio 2015 o una versión posterior de Visual Studio para desarrollar el complemento, debe desinstalar el complemento y volver a instalarlo mediante el Centro de Administración de Exchange.

  2. Reinicie Outlook y compruebe si ahora activa el complemento.

  3. Si Outlook no activa el complemento, compruebe si tiene una copia del manifiesto del complemento guardada correctamente en la memoria caché. Busque en la siguiente ruta de acceso.

    %LocalAppData%\Microsoft\Office\16.0\WEF
    

    Puede encontrar el manifiesto en la subcarpeta siguiente.

    \<insert your guid>\<insert base 64 hash>\Manifests\<ManifestID>_<ManifestVersion>
    

    Nota:

    A continuación se muestra un ejemplo de una ruta de acceso a un manifiesto instalado para un buzón para el usuario John.

    C:\Users\john\appdata\Local\Microsoft\Office\16.0\WEF\{8D8445A4-80E4-4D6B-B7AC-D4E6AF594E73}\GoRshCWa7vW8+jhKmyiDhA==\Manifests\b3d7d9d5-6f57-437d-9830-94e2aaccef16_1.2
    

    Compruebe si el manifiesto del complemento que está probando se encuentra entre los manifiestos almacenados en la memoria caché.

  4. Si el manifiesto está en la memoria caché, omita el resto de la sección y tenga en cuenta las otras posibles razones que se exponen más adelante.

  5. Si el manifiesto no está en la memoria caché, compruebe si realmente Outlook leyó el manifiesto de Exchange Server de forma correcta. Para hacerlo, utilice el Visor de eventos de Windows.

    1. En Registros de Windows, seleccione Aplicación.

    2. Busque un evento razonablemente reciente para el que el ID de evento sea igual a 63, que representa a Outlook descargando un manifiesto de un Exchange Server.

    3. Si Outlook lee correctamente un manifiesto, el evento registrado debe tener la siguiente descripción.

      The Exchange web service request GetAppManifests succeeded.
      

      Después, omita el resto de la sección y tenga en cuenta las otras posibles razones que se exponen más adelante.

  6. Si no ve un evento correcto, cierre Outlook y elimine todos los manifiestos de la ruta de acceso siguiente.

    %LocalAppData%\Microsoft\Office\16.0\WEF\<insert your guid>\<insert base 64 hash>\Manifests\
    

    Inicie Outlook y compruebe si ahora activa el complemento.

  7. Si no lo activa, vuelva al paso 3 para comprobar de nuevo si Outlook leyó el manifiesto correctamente.

¿El manifiesto del complemento es válido?

Vea Validar y solucionar problemas del manifiesto para depurar problemas del manifiesto del complemento.

¿Está usando las reglas de activación adecuadas?

A partir de la versión 1.1 del esquema de manifiestos de complementos de Office, puede crear complementos que se activan cuando el usuario está en un formulario de redacción (crear complementos) o en un formulario de lectura (complementos de lectura). Asegúrese de que especifica las reglas de activación adecuadas para cada uno de los tipos de formulario que el complemento debe activar. Por ejemplo, puede activar complementos de redacción usando solo reglas ItemIs con el atributo FormType establecido en Edit o ReadOrEdit, y no puede usar ninguno de los otros tipos de reglas, como ItemHasKnownEntity y ItemHasRegularExpressionMatch para complementos de redacción. Para obtener más información, vea Reglas de activación para complementos de Outlook.

Si utiliza una expresión regular, ¿se especifica correctamente?

Dado que las expresiones regulares de las reglas de activación forman parte del archivo de manifiesto XML de un complemento de lectura, si una expresión regular usa determinados caracteres, asegúrese de seguir la secuencia de escape correspondiente que admiten los procesadores XML. En la tabla siguiente, se muestra una lista de estos caracteres especiales.

Carácter Descripción Secuencia de escape que debe usarse
" Comillas dobles "
& Y comercial &
' Apóstrofo '
< Signo de menor que <
> Signo de mayor que >

Si usa una expresión regular, ¿se activa el complemento de lectura en Outlook en la Web, en dispositivos móviles o en el nuevo Outlook en Windows (versión preliminar), pero no en Outlook clásico en Windows o Outlook en Mac?

Outlook clásico en Windows y Outlook en Mac usan un motor de expresiones regulares diferente del que usa Outlook en la Web, en dispositivos móviles y en el nuevo Outlook en Windows (versión preliminar). Outlook clásico en Windows y Outlook en Mac usan el motor de expresiones regulares de C++ proporcionado como parte de la biblioteca de plantillas estándar de Visual Studio. Este motor cumple con los estándares de ECMAScript 5. Outlook en la Web, en dispositivos móviles y el nuevo Outlook en Windows (versión preliminar) usan la evaluación de expresiones regulares que forma parte de JavaScript, la proporciona el explorador y admite un superconjunto de ECMAScript 5.

Aunque en la mayoría de los casos, estos clientes de Outlook encuentran las mismas coincidencias para la misma expresión regular en una regla de activación, hay excepciones. Por ejemplo, si el regex incluye una clase de caracteres personalizada basada en clases de caracteres predefinidas, outlook clásico en Windows y Outlook en Mac puede devolver resultados diferentes de Outlook en la Web, en dispositivos móviles y en outlook en Windows (versión preliminar). Por ejemplo, las clases de caracteres que contienen clases [\d\w] de caracteres abreviados dentro de ellas devolverían resultados diferentes. En este caso, para evitar resultados diferentes en diferentes aplicaciones, use (\d|\w) en su lugar.

Pruebe la expresión regular exhaustivamente. Si devuelve resultados distintos, reescríbala para que sea compatible con los dos motores. Para comprobar los resultados de la evaluación en Outlook clásico en Windows y Outlook en Mac, escriba un pequeño programa de C++ que aplique la expresión regular a una muestra del texto que intenta hacer coincidir. En ejecución en Visual Studio, el programa de prueba de C++ usaría la biblioteca de plantillas estándar, simulando el comportamiento de Outlook clásico en Windows o Outlook en Mac al ejecutar la misma expresión regular. Para comprobar los resultados de la evaluación en Outlook en la Web, en dispositivos móviles y en el nuevo Outlook en Windows (versión preliminar), use el probador de expresiones regulares de JavaScript favorito.

Si utiliza una regla de activación ItemHasRegularExpressionMatch, compruebe si el valor del atributo PropertyName es el que espera para el elemento seleccionado. A continuación se muestran algunas sugerencias para depurar las propiedades correspondientes.

  • Si el elemento seleccionado es un mensaje y especifica BodyAsHTML en el atributo PropertyName, abra el mensaje y luego seleccione Ver origen para comprobar el cuerpo del mensaje de la representación HTML de ese elemento.

  • Si el elemento seleccionado es una cita, o si la regla de activación especifica BodyAsPlaintext en PropertyName, puede utilizar el modelo de objetos de Outlook y el Editor de Visual Basic en Windows:

    1. Asegúrese de que las macros están habilitadas y que la pestaña Desarrollador se muestra en la cinta de opciones para Outlook.

    2. En el Editor de Visual Basic, seleccione Vista, Ventana Inmediato.

    3. Escriba lo siguiente para mostrar varias propiedades según el escenario.

      • El cuerpo HTML del elemento de mensaje o cita seleccionado en el explorador de Outlook:
      ?ActiveExplorer.Selection.Item(1).HTMLBody
      
      • El cuerpo del texto sin formato del elemento de mensaje o cita seleccionado en el explorador de Outlook:
      ?ActiveExplorer.Selection.Item(1).Body
      
      • El cuerpo HTML del elemento de mensaje o cita abierto en el actual inspector de Outlook:
      ?ActiveInspector.CurrentItem.HTMLBody
      
      • El cuerpo del texto sin formato del elemento de mensaje o cita abierto en el actual inspector de Outlook:
      ?ActiveInspector.CurrentItem.Body
      

Si la regla de activación ItemHasRegularExpressionMatch especifica Subject o SenderSMTPAddress, o si usa una regla ItemIs o ItemHasAttachment , y está familiarizado con MAPI o desea usar MAPI, use MFCMAPI. Compruebe la propiedad MAPI en la que se basa la regla en la tabla siguiente.

Tipo de regla Comprobar esta propiedad MAPI
Regla ItemHasRegularExpressionMatch con Subject PidTagSubject
Regla ItemHasRegularExpressionMatch con SenderSMTPAddress PidTagSenderSmtpAddress y PidTagSentRepresentingSmtpAddress
ItemIs PidTagMessageClass
ItemHasAttachment PidTagHasAttachments

Tras comprobar el valor de la propiedad puede utilizar una herramienta de evaluación de expresiones regulares para probar si la expresión regular encuentra un resultado en ese valor.

¿Aplica Outlook todas las expresiones regulares a la parte del cuerpo del elemento como espera?

Esta sección se aplica a todas las reglas de activación que usan expresiones regulares, especialmente las que se aplican al cuerpo del elemento, que pueden tener un tamaño grande y tardar más en evaluarse para las coincidencias. Debe tener en cuenta que incluso si la propiedad item de la que depende una regla de activación tiene el valor esperado, Es posible que Outlook no pueda evaluar todas las expresiones regulares en todo el valor de la propiedad item. Para proporcionar un rendimiento razonable y controlar el uso excesivo de recursos por parte de un complemento de lectura, Outlook observa los siguientes límites en el procesamiento de expresiones regulares en reglas de activación en tiempo de ejecución.

  • Tamaño del cuerpo del elemento evaluado. Hay límites en la parte de un cuerpo de elemento en la que Outlook evalúa una expresión regular. Estos límites dependen del cliente de Outlook, el factor de forma y el formato del cuerpo del elemento. Para obtener más información, vea Límites en el tamaño del cuerpo del elemento evaluado.

  • Número de coincidencias de expresiones regulares. Outlook en Windows (clásico y nuevo (versión preliminar)), en Mac, en la web y en dispositivos móviles devuelve un máximo de 50 coincidencias de expresiones regulares. Estas coincidencias son únicas y las coincidencias duplicadas no cuentan con respecto a este límite. No asuma ningún orden para las coincidencias devueltas y no suponga que el orden en Outlook clásico en Windows y Outlook en Mac es el mismo que en Outlook en la Web, en dispositivos móviles y en el nuevo Outlook en Windows (versión preliminar). Si espera muchas coincidencias con expresiones regulares en las reglas de activación y le falta una coincidencia, es posible que supere este límite.

  • Longitud de una coincidencia de expresión regular. Hay límites en la longitud de una coincidencia de expresión regular que devolvería la aplicación de Outlook. Outlook no incluye ninguna coincidencia por encima del límite y no muestra ningún mensaje de advertencia. Esta no incluye ningún resultado por encima del límite ni muestra ningún mensaje de advertencia. En la tabla siguiente se resumen los límites. Para obtener más información, vea Límites de reglas de activación para el complemento contextual de Outlook.

    Límite de longitud para un resultado regex Outlook en la Web, en dispositivos móviles y en el nuevo cliente de Windows (versión preliminar) Outlook en el cliente clásico de Windows y en Mac
    El cuerpo del elemento es texto sin formato 3 KB 1,5 KB
    El cuerpo del elemento es HTML 3 KB 3 KB
  • Tiempo dedicado a evaluar todas las expresiones regulares de un complemento de lectura en Outlook clásico en Windows y Outlook en Mac. De forma predeterminada, para cada complemento de lectura, Outlook debe terminar de evaluar todas las expresiones regulares de sus reglas de activación en un segundo. De lo contrario, Outlook reintenta hasta tres veces y hace que el complemento no esté disponible si Outlook no puede completar la evaluación. Outlook muestra un mensaje en la barra de notificaciones que indica que el complemento no está disponible. La cantidad de tiempo disponible para la expresión regular se puede modificar estableciendo una directiva de grupo o una clave del Registro.

    Nota:

    Si outlook clásico en Windows o Outlook en Mac hace que un complemento de lectura no esté disponible, el complemento de lectura deja de estar disponible en el mismo buzón en Outlook en la Web, en dispositivos móviles y en el nuevo Outlook en Windows (versión preliminar).

Vea también