视觉C Outlook自动化

Visual C++ Outlook automation

本文关键字:自动化 Outlook 视觉      更新时间:2023-10-16

我想在公共文件夹中自动化一些维护,以与vs vs c 控制台应用程序交换。我使用VS社区2017和Outlook 2016(与Exchange 2016)。

大量搜索后,我创建了一个带有以下相关行的小应用程序:

#import "C:/Program Files (x86)/Common Files/Microsoft Shared/OFFICE16/mso.dll" no_namespace 
rename("DocumentProperties", "OlkDocProps") rename("RGB", "OlkRGB")
    #import "C:\Program Files (x86)\Microsoft Office\Office16\msoutl.olb" 
rename_namespace("Outlook") 
rename("Folder", "OlkFolder") rename("CopyFile", "OlkCopyFile") 
rename("GetOrganizer", "GetOrganizerAE") rename("PlaySound", "OlkPlaySound")

_ApplicationPtr spApp( "Outlook.Application");

在编译上,我在mso.tlhmsoutl.tlh上通过IntelliSense遇到了大量错误,我忽略了它(370次"枚举类型的正向声明是非标准")。我在#import行上遇到了一些错误,并用额外的命名为修复。

现在该应用程序构建,但会产生一个例外,在该例外声明和构造spAPP

Unhandled exception at 0x00007FF8879D5549 in DelDoubleMail.exe: Microsoft C++ exception: _com_error at memory location 0x00000015F3F0EFF0. occurred

我该如何修复?

我找到了原因:在创建sapp之前丢失了呼叫coinitializeex()。

@karthik:谢谢您的建议,修补不同的捕获动作终于给了我所需的信息。