首页 > 解决方案 > UIPATH - 发送 Outlook 邮件(无法投射 COM 对象)

问题描述

感谢 UIPATH 活动“发送 Outlook 邮件”,我想设置一个能够发送电子邮件的机器人。但收到此错误消息:

发送 Outlook 邮件消息:无法将类型为“Microsoft.Office.Interop.Outlook.ApplicationClass”的 COM 对象转换为接口类型“Microsoft.Office.Interop.Outlook._Application”。此操作失败,因为 IID 为“{00063001-0000-0000-C000-000000000046}”的接口的 COM 组件上的 QueryInterface 调用因以下错误而失败:未注册接口(来自 HRESULT 的异常:0x80040155)。

由于 Outlook 的版本控制,互联网上的一些人似乎已经设法纠正了这个问题。但我的问题似乎不同,因为我只有 IID 中列出的 8.7 版本:HKEY_CLASSES_ROOT\TypeLib{00020905-0000-0000-C000-000000000046}

标签: outlookuipath

解决方案


看来您的 Windows 注册表记录很乱。尝试“修复”您的 Microsoft Office 安装。转至Programs and Features,选择Modify,然后Repair Online

在处理 COM 库时,这是一个广泛传播的问题。以下是错误:无法将“Microsoft.Office.Interop.Outlook.ApplicationClass”类型的 COM 对象转换为接口类型“Microsoft.Office.Interop.Outlook._Application”。论坛线程状态:

听起来您的 typelib 注册有问题。据推测,Com 互操作层正在访问注册表以尝试定位类型库。首先查看 HKCR\Interface{00063001-0000-0000-C000-000000000046}\Typelib。默认值应参考定义相关接口的 typelib 的 guid:它应位于以下键下:HKCR\Typelib{00062FFF-0000-0000-C000-000000000046}。应该有一个版本子键,然后是一个 0 子键,在它下面还有一个 win32 子键。win32 键的默认值应指向类型库(即 msoutl.olb)。

我建议检查您的 Office 目录中的 msoutl.olb。如果存在,请尝试运行“regtlib msoutl.olb”。我相信,您的机器上应该有regtlib 是Visual Studio 安装的一部分。无论如何,重新注册 typelib 将重写所有必要的注册表项。您将需要此操作的管理权限。

此外,您可能会发现Outlook 问题 - 无法转换类型为“Microsoft.Office.Interop.Outlook.ApplicationClass”的 COM 对象页面很有帮助。


推荐阅读