尝试通过Outlook自动生成邮件 -
添加了对Microsoft.Office.Interop.Outlook 14.0.0.0
的引用它可以在Win 8 / Office 2013 PC上运行,但在Win 7 / Office 2010上失败并出现以下异常。
代码:
Application outlookApp = new Application();
MailItem message = (MailItem)outlookApp.CreateItem(OlItemType.olMailItem);
message.Subject = "subject";
message.Display(message);
message.HTMLBody = "body" + message.HTMLBody; //to get default signature
例外是:
无法将“System .__ ComObject”类型的COM对象强制转换为接口 输入'Microsoft.Office.Interop.Outlook.Application'。这个 操作失败,因为QueryInterface调用COM 与IID接口的组件 由于以下原因,“{00063001-0000-0000-C000-000000000046}”失败 错误:库未注册。 (HRESULT异常:0x8002801D (TYPE_E_LIBNOTREGISTERED))。
答案 0 :(得分:0)
解决方案最终成为:
http://www.fieldstonsoftware.com/support/support_gsyncit_2013.shtml
Lync 2013安装在Office 2010之上。这为HKCR \ TypeLib {00062FFF-0000-0000-C000-000000000046}添加了一个注册表项。
该注册表项的子项将是不同的编号文件夹,表示已安装的Office的版本号。 (本案例中为9.4,表示2010年,9.5表示2013年)。一旦删除与Outlook版本不一致的版本号,就会解决该问题。