PST文件的问题,而在Windows应用程序中访问

问题描述 投票:0回答:1

在WinForms应用程序中,微软Outlook根文件夹被访问,以获得特定的配置文件(w.r.t PST文件)子文件夹.下面是代码,这是用来获取根文件夹从outlook命名空间。

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命名空间w.r.t PST文件名。

MAPIFolder rootFolder = nsOutlook.Stores[sSelectedPSTFileName].GetRootFolder();

异常。试图操作失败。一个对象无法找到。

我已经加载的PST文件在MS Outlook中,它是工作正常。但是,当我访问该文件从代码中显示异常。

是否有任何方法来识别PST文件损坏或不?帮助在这方面将是感激。

c# winforms outlook office-interop
1个回答
0
投票

你可以尝试以这种方式

OutLook.MAPIFolder outlook_Folder = null;
Microsoft.Office.Interop.Outlook.NameSpace nsOutlook = appOutlook.GetNamespace("MAPI");
outlook_Folder =nsOutlook.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox).Parent;
Console.WriteLine("Root Folder: " + outlook_Folder.Name);
© www.soinside.com 2019 - 2024. All rights reserved.