存在用下面的代碼塊,你選擇哪一個是在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)在外部引起的。
我不能想到另一種方式來檢測文件夾是否存在,因爲導致錯誤的行是必不可少的選擇公共文件夾,因此獲得它的屬性。
問候