我一直在尝试找到一种方法,将文件夹从c#
添加到pst文件中我已经尝试了一大堆代码来尝试让它工作,这是一个似乎最可能是正确的(因为它在MSDN上是什么)但仍然无法正常工作
Main {
Outlook._Application OutlookObject = new Outlook.Application();
Outlook.Store NewPst = null;
// create the pst file
string pstlocation = "C:\\Users\\Test\\Desktop\\PST\\Test.pst";
try
{
OutlookObject.Session.AddStore(pstlocation);
foreach (Outlook.Store store in OutlookObject.Session.Stores)
{
if (store.FilePath == pstlocation)
{
// now have a referance to the new pst file
NewPst = store;
Console.WriteLine("The Pst has been created");
}
}
}
catch
{ }
// create a folder or subfoler in pst
Outlook.MAPIFolder NewFolder;
NewFolder = NewPst.Session.Folders.Add("New Test Folder", Type.Missing);
}
此代码创建一个新的PST文件,然后尝试添加一个文件夹,但是最后一行代码:
New NewFolder = NewPst.Session.Folders.Add("New Test Folder", Type.Missing);
获取错误“操作失败”。和“无效的演员例外”可以指出我做错了什么
提前致谢
答案 0 :(得分:4)
您需要使用Store.GetRootFolder()
来获取该商店的根文件夹的句柄(不 Store.Session
)。所以你会使用:
// create a folder or subfolder in pst
Outlook.MAPIFolder pstRootFolder = NewPst.GetRootFolder();
Outlook.MAPIFolder NewFolder = pstRootFolder.Folders.Add("New Test Folder");
我建议将以下两个书签:PIA文档并不总是完整,因此有必要查看COM文档以及完整的课程和成员信息。