我正在为Outlook 2010编写一个加载项。有时它需要删除用户当前选择的邮件项。我使用以下代码,效果很好:
Selection selectedMessages = Globals.ThisAddIn.Application.ActiveExplorer().Selection;
// It is possible for a non-mail item to be part of this collection. (One example is when a calendar
// item is in the deleted items folder. Select it and hit this delete button.)
System.Collections.IEnumerator enumerator = selectedMessages.GetEnumerator();
while(enumerator.MoveNext())
{
if (enumerator.Current is MailItem)
{
((MailItem)(enumerator.Current)).Delete();
}
}
我的问题是,当我以这种方式删除邮件时,正常的"撤消"操作不可供用户使用。 可以让用户转到“已删除邮件”文件夹并将邮件移回“收件箱”。但是对于那些习惯于按下Ctrl-Z的用户来说,这将会让人感到困惑。屏幕左上角的箭头。
我是否有某种方法可以使用撤消机制注册此操作,或者可以调用" real"删除邮件上的Outlook功能,以便自动撤消撤消?
答案 0 :(得分:1)
不要删除MailItem
;将其移至olFolderDeletedItems
文件夹。您可以使用GetDefaultFolder()
获取对此文件夹的引用;见here。