Compartir a través de


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

La activación contextual del complemento de Outlook se basa en las reglas de activación de un manifiesto de solo complemento 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

Ahora se han retirado los complementos contextuales de Outlook basados en entidades. Como solución alternativa, implemente reglas de expresión regular en el complemento contextual. Para obtener instrucciones sobre cómo implementar estas reglas, vea Complementos contextuales de Outlook.

¿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, esta propiedad devuelve la versión del Exchange Server.

¿Está disponible el complemento?

Outlook en Windows (clásico) 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 (clásico) y en Mac muestran una notificación de que está haciendo que un complemento no esté disponible.

Nota:

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

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.

¿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 de aplicación unificado para Microsoft 365.

Este escenario solo se aplica a Outlook clásico 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 Las reglas ItemHasRegularExpressionMatch para los complementos de redacción.

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 de solo complemento con formato XML para 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 se usará
" 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, pero no en Outlook en Windows (clásico) o Outlook en Mac?

Outlook en Windows (clásico) y Outlook en Mac usan un motor de expresiones regulares diferente del que usan Outlook en la Web, en dispositivos móviles y en el nuevo Outlook en Windows. 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 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 en Windows (clásico) y Outlook en Mac pueden devolver resultados diferentes de Outlook en la Web, en dispositivos móviles y en nuevas Outlook en Windows. 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 en Windows (clásico) 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 en Windows (clásico) 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, 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 usar el modelo de objetos de Outlook y el Editor de Visual Basic en outlook clásico 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 la Web, en Windows (nuevo y clásico), en Mac y en dispositivos móviles, cada uno 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 en Windows (clásico) y Outlook en Mac es el mismo que en Outlook en la Web, en dispositivos móviles y en la nueva Outlook en Windows. 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 el nuevo cliente de Windows y en dispositivos móviles Outlook en Windows (clásico) 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 en Windows (clásico) 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 en Windows (clásico) 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.

Vea también