我正在尝试创建一个将 eml 文件转换为单个 pst 的程序。我已经写了那个命令:
RDOSession session = new RDOSession();
RDOPstStore store = session.LogonPstStore(newpstpath);
RDOFolder folder = store.IPMRootFolder.Folders.Item(directoryEmlFile);
RDOMail mail = folder.Items.Add("IPM.Note");
但在命令"RDOMail 邮件 = 文件夹。Items.Add("IPM.注意")"系统给了我空异常。谁能帮我?
您需要区分 Outlook 和 Redemption 对象。
看起来您需要使用 Session 类(救赎)的 GetRDOObjectFromOutlookObject
方法。
set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set redItem= Session.GetRDOObjectFromOutlookObject(mail)
类的 Add 方法在文件夹的 Items 集合中创建并返回一个新的 Outlook 项目。
文件夹变量很可能为 null - 如果文件夹不存在,则按名称检索它 ( RDOFolder.Folders.Item("foldername"))
将返回 null:
RDOSession session = new RDOSession();
RDOPstStore store = session.LogonPstStore(newpstpath);
RDOFolder folder = store.IPMRootFolder.Folders.Item(directoryEmlFile);
if (folder == null) folder = store.IPMRootFolder.Folders.Add(directoryEmlFile);
RDOMail mail = folder.Items.Add("IPM.Note");