在WinForms应用程序中,访问Microsoft 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();
型
异常:尝试的操作失败。找不到对象。
我已经在MS Outlook中加载了PST文件,它工作正常。但是,当我从代码中访问该文件时,它显示异常。
有没有什么方法来识别PST文件是否已损坏?在这方面的帮助将不胜感激。
2条答案
按热度按时间brgchamk1#
你可以这样试试
字符串
lrpiutwd2#
有几种方法可以识别PST文件是否损坏。
1.检查文件大小-由于数据差异问题,损坏的PST文件大小将与原始文件大小不同。
1.如果您无法在Outlook中打开表示“数据文件已损坏”的文件。
1.运行scanPST或任何第三方工具来扫描您的PST文件,它会显示它是否已损坏。
1.在访问代码中的PST文件的根文件夹时,如果出现错误,这意味着您的PST文件可能已损坏。