在WinForms應用程序中,訪問Microsoft Outlook根文件夾以獲取特定於配置文件(w.r.t PST文件)的子文件夾。 下面是用於從Outlook命名空間獲取根文件夾的代碼。訪問Windows應用程序時出現PST文件問題
Microsoft.Office.Interop.Outlook.Application appOutlook = new Microsoft.Office.Interop.Outlook.Application();
appOutlook.Session.AddStore(sPSTFilePath);
Microsoft.Office.Interop.Outlook.NameSpace nsOutlook = appOutlook.GetNamespace("MAPI");
string sSelectedPSTFileName = Path.GetFileNameWithoutExtension(sPSTFilePath);
MAPIFolder rootFolder = nsOutlook.Stores[sSelectedPSTFileName].GetRootFolder();
它工作正常,但一些PST文件是當它涉及到在從Outlook命名空間WRT PST文件名獲得根文件夾拋出一個異常:
MAPIFolder rootFolder = nsOutlook.Stores[sSelectedPSTFileName].GetRootFolder();
例外:嘗試的操作失敗。找不到對象。
我已經在MS Outlook中加載該PST文件,它工作正常。但是,當我從代碼訪問該文件時,它顯示異常。
有什麼辦法可以識別PST文件是否損壞? 在這方面的幫助將不勝感激。
Outlook如何在Outlook中顯示PST文件?它是否使用沒有「.pst」擴展名的文件名?或者它使用顯示名稱? –
它顯示沒有擴展名的文件名。 –
如果循環訪問Namespace.Stores集合,會發生什麼情況?那裏有新店嗎?它有預期的名字嗎?我只能建議使用Redemption - 它的RDOSession.Stores.AddPstStore方法返回RDOPstStore對象的廣告實例,而不需要按名稱訪問它。 –