我的Outlook加载项处理Inspector对象的NewInspector事件,以显示邮件项目的自定义窗体。
我可以获得作为事件参数传递的Inspector对象的CurrentItem的EntryID。但是,问题在于当前邮件项目的EntryID短于它应有的长度,并且是未知的。我知道所创建的每个邮件项目的每个EntryID,并且我可以看到该特定邮件项目的EntryID错误。
怎么了?
想法是记住由加载项创建的MailItem的每个EntryID,以便以后可以对它进行不同的处理。问题是检查员打开的项目的EntryID是短条目,而不是在记住的ID列表中,尽管应该如此。
我创建邮件项目的几行代码是:
item.Save();
item.Move(some_folder);
items_list.Add(item.EntryID);
文件夹'some_folder'位于外部非默认PST内,因此邮件项目将获得新的EntryID。我将这些行更改为:
item.Save();
item = (Outlook.MailItem)item.Move(some_folder);
items_list.Add(item.EntryID);
现在,该项目具有新的EntryID,可以在以后找到。
只要有帮助的人,我要做的就是在获取MailItem.Save()
之前先调用EntryID
。新创建的MailItem
在保存之前没有任何EntryID
(在我的情况下位于Drafts
文件夹中。)>