存在用下面的代码块,你选择哪一个是在Outlook中设置公用文件夹:检测是否(交换)公用文件夹在Outlook
const
olPublicContactsFolder = $00000012; //constant for the public folder
begin
Outlook := CreateOleObject('Outlook.Application');
// Get name space
NameSpace := Outlook.GetNameSpace('MAPI');
// Get root public folder
ContactsRoot := NameSpace.GetDefaultFolder(olPublicContactsFolder); //<-- Error
Contacts:= Contactsroot;
上标记线上发生了错误,如果没有公共Outlook中的文件夹(在Outlook中没有设置公用文件夹,没有Exchange Server)。
问题是如何通过预先检测是否存在公用文件夹集来避免该错误。
捕获错误试试... finally/except块不起作用由于异常是由Microsoft API(EOleException)在外部引起的。
我不能想到另一种方式来检测文件夹是否存在,因为导致错误的行是必不可少的选择公共文件夹,因此获得它的属性。
问候