El nuevo Outlook no admite la automatización del modelo de objetos: alternativa práctica
🔍 WiseChecker

El nuevo Outlook no admite la automatización del modelo de objetos: alternativa práctica

Si depende de scripts o complementos que utilizan la automatización del modelo de objetos de Outlook para administrar correos electrónicos, calendarios o tareas, probablemente haya descubierto que el nuevo Outlook para Windows no admite esta tecnología. El Outlook clásico para Windows utiliza el modelo de objetos de Outlook para permitir que programas externos como scripts VBA, complementos COM y herramientas de automatización de terceros controlen sus funciones. El nuevo Outlook, basado en una plataforma web, bloquea intencionalmente este modelo de automatización por razones de seguridad y rendimiento. Este artículo explica por qué el nuevo Outlook elimina la automatización del modelo de objetos y proporciona alternativas prácticas y específicas que puede utilizar hoy para automatizar sus flujos de trabajo.

Conclusiones clave: Automatizar el nuevo Outlook sin modelo de objetos

  • API de Microsoft Graph: Reemplace las llamadas locales al modelo de objetos con llamadas REST basadas en la nube para correo, calendario, contactos y tareas.
  • Power Automate: Cree flujos de trabajo sin código o con poco código que se activen con nuevos correos electrónicos, envíen respuestas o creen eventos de calendario sin escribir scripts.
  • Exchange Web Services (EWS): Utilice EWS como alternativa para entornos locales o híbridos donde la API Graph no esté disponible.

ADVERTISEMENT

Por qué el nuevo Outlook bloquea la automatización del modelo de objetos

El Outlook clásico para Windows expone un modelo de objetos basado en COM que las aplicaciones de terceros y las macros VBA pueden llamar directamente. Este modelo proporciona un acceso profundo a los datos y características de Outlook, pero también introduce riesgos de seguridad, problemas de estabilidad y sobrecarga de rendimiento. El nuevo Outlook para Windows está construido sobre la misma plataforma web que Outlook en la web. Se ejecuta en un entorno limitado que no expone una interfaz COM. Microsoft realizó este cambio para mejorar la seguridad, reducir los bloqueos causados por complementos mal escritos y admitir actualizaciones rápidas de funciones. Como resultado, cualquier script o complemento que dependa del modelo de objetos de Outlook, incluidas las macros VBA, los complementos COM y algunas herramientas de automatización de terceros, no funcionará en el nuevo Outlook.

Microsoft ha declarado que no agregarán soporte para el modelo de objetos al nuevo Outlook. En su lugar, alientan a los desarrolladores y usuarios avanzados a adoptar API modernas y plataformas de automatización. Las principales alternativas son la API de Microsoft Graph, Power Automate y Exchange Web Services para escenarios locales. Cada opción tiene sus propias fortalezas, limitaciones y requisitos de configuración.

Alternativas prácticas a la automatización del modelo de objetos

Los siguientes métodos reemplazan la funcionalidad del modelo de objetos que quizás esté utilizando en Outlook clásico. Elija el enfoque que se adapte a su entorno y nivel de habilidad.

Opción 1: API de Microsoft Graph para automatización basada en la nube

La API de Microsoft Graph es el reemplazo principal para la automatización del modelo de objetos de Outlook en el nuevo Outlook. Proporciona endpoints REST para correo, calendario, contactos y tareas. Puede llamar a Graph desde cualquier lenguaje de programación que admita solicitudes HTTP, incluidos Python, JavaScript, C# y PowerShell. Para usar Graph, necesita un registro de aplicación en Azure Active Directory con los permisos adecuados. Por ejemplo, para enviar un correo electrónico mediante programación, registra una aplicación, concede el permiso Mail.Send y luego realiza una solicitud POST a https://graph.microsoft.com/v1.0/me/sendMail. Graph funciona solo con buzones de correo en la nube de Microsoft 365. No funciona con buzones de Exchange locales a menos que utilice una implementación híbrida.

  1. Registre una aplicación en Azure AD
    Vaya al portal de Azure, seleccione Registros de aplicaciones y cree una nueva aplicación. Anote el ID de aplicación (cliente) y el ID de directorio (inquilino).
  2. Configure los permisos de API
    En Permisos de API, agregue permisos de Microsoft Graph como Mail.ReadWrite, Mail.Send, Calendars.ReadWrite o Tasks.ReadWrite según sus necesidades de automatización.
  3. Genere un token de acceso
    Utilice el flujo de credenciales de cliente o el flujo de código de autorización para obtener un token OAuth 2.0. En PowerShell, puede usar el módulo MSAL.PS para adquirir tokens silenciosamente.
  4. Llame al endpoint de la API Graph
    Envíe una solicitud HTTP con el token en el encabezado Authorization. Por ejemplo, para listar mensajes, use GET https://graph.microsoft.com/v1.0/me/messages.

Opción 2: Power Automate para flujos de trabajo sin código

Si no desea escribir código, Power Automate (anteriormente Microsoft Flow) proporciona una interfaz gráfica para crear flujos de trabajo de automatización que interactúan con el nuevo Outlook. Puede activar flujos cuando llegue un nuevo correo electrónico, enviar respuestas automáticas, crear eventos de calendario y mover mensajes a carpetas. Power Automate se conecta al nuevo Outlook a través del conector de Microsoft Graph. No requiere ningún conocimiento de programación. Sin embargo, la lógica compleja o la automatización de alta frecuencia pueden requerir una licencia premium.

  1. Cree un nuevo flujo en Power Automate
    Vaya a make.powerautomate.com e inicie sesión con su cuenta de Microsoft 365. Seleccione Crear y elija Flujo de nube automatizado.
  2. Elija un desencadenador
    Seleccione un desencadenador del conector de Outlook, como Cuando llega un nuevo correo electrónico (V3). Configure la carpeta a monitorear y cualquier filtro.
  3. Agregue acciones
    Agregue acciones como Enviar un correo electrónico (V2), Crear evento de calendario o Mover correo electrónico. Configure cada acción con las propiedades requeridas.
  4. Pruebe y habilite el flujo
    Guarde el flujo y ejecute una prueba con un correo electrónico de muestra. Si la prueba pasa, active el flujo para que se ejecute automáticamente.

Opción 3: Exchange Web Services para entornos locales

Para organizaciones que utilizan Exchange Server local y no pueden usar Microsoft Graph, Exchange Web Services (EWS) sigue siendo una opción viable. EWS proporciona una API basada en SOAP que admite correo, calendario, contactos y tareas. Sin embargo, Microsoft ha anunciado que EWS será retirado para Exchange Online en 2026. Para Exchange 2019 local y versiones anteriores, EWS continúa funcionando. Debe deshabilitar la autenticación heredada y usar OAuth 2.0 si su entorno lo admite. EWS no funciona directamente con el nuevo Outlook, pero puede llamarlo desde un script o servicio separado que se ejecute en un servidor.

  1. Verifique la versión de Exchange y la disponibilidad de EWS
    Verifique que su servidor Exchange admita EWS. Para Exchange 2013 y versiones posteriores, EWS está habilitado de forma predeterminada. Para Exchange 2010, EWS requiere configuración explícita.
  2. Cree una cuenta de servicio
    Cree un buzón dedicado y una cuenta de servicio con los permisos mínimos requeridos. Evite usar su buzón personal para la automatización.
  3. Escriba un script usando la API administrada de EWS
    Descargue la API administrada de EWS 2.2 de Microsoft. En su script de C# o PowerShell, cree un objeto ExchangeService, establezca las credenciales y llame a métodos como FindItems o SendItem.
  4. Programe el script para que se ejecute
    Use el Programador de tareas de Windows o una canalización de CI/CD para ejecutar el script según un horario o activarlo según eventos.

ADVERTISEMENT

Problemas comunes de migración y cómo manejarlos

Mis macros VBA ya no funcionan en el nuevo Outlook

Las macros VBA que usan el modelo de objetos de Outlook, como Application.ActiveInspector.CurrentItem, no se ejecutarán en el nuevo Outlook. El nuevo Outlook no admite VBA en absoluto. Para reemplazar una macro, identifique la acción específica que realiza. Si envía un correo electrónico o crea una cita, reescríbala como un flujo de Power Automate o una llamada a la API Graph. Si la macro se ejecuta localmente sin acceso a la red, debe mantener Outlook clásico instalado junto con el nuevo Outlook para esos flujos de trabajo.

Mi complemento COM no se carga en el nuevo Outlook

Los complementos COM que se enganchan al modelo de objetos de Outlook no son compatibles. Verifique si el proveedor del complemento ofrece una versión de complemento web que use la plataforma de complementos de Office. Los complementos web se ejecutan en un iframe limitado y funcionan en el nuevo Outlook. Si no hay un complemento web disponible, debe usar Outlook clásico para ese complemento o reemplazar la funcionalidad con llamadas a la API Graph.

Necesito automatizar una tarea que se ejecuta sin conexión

La API Graph y Power Automate requieren conectividad a Internet. Si su automatización debe funcionar sin conexión, no puede usar el nuevo Outlook para esa tarea. Mantenga Outlook clásico instalado y ejecute sus scripts del modelo de objetos allí. Puede alternar entre Outlook clásico y el nuevo Outlook en la misma máquina usando el control deslizante Probar el nuevo Outlook en la esquina superior derecha de la ventana de Outlook clásico.

Modelo de objetos vs API Graph vs Power Automate: diferencias clave

Elemento Modelo de objetos de Outlook (clásico) API de Microsoft Graph
Método de acceso Interfaz COM, local API REST, nube
Funciona con el nuevo Outlook No
Funciona sin conexión No
Lenguaje de programación VBA, C#, VB.NET Cualquier lenguaje compatible con HTTP
Autenticación Integrada de Windows OAuth 2.0
Mejor para Scripts locales, automatización rápida Automatización escalable y prioritaria en la nube

Ahora puede reemplazar la automatización del modelo de objetos de Outlook con la API de Microsoft Graph, Power Automate o Exchange Web Services según su entorno. Comience por auditar sus macros o complementos existentes para determinar qué acciones realizan. Luego elija la alternativa que se ajuste a su nivel de habilidad técnica y requisitos de conectividad. Un buen siguiente paso es crear un script simple de la API Graph que envíe un correo electrónico de prueba desde su buzón. Esto confirma que su autenticación y permisos están configurados correctamente antes de crear flujos de trabajo más complejos.

ADVERTISEMENT