Com Outlook互操作复制邮件项

Com Outlook互操作复制邮件项,com,interop,outlook,add-in,Com,Interop,Outlook,Add In,我知道我以前见过这个问题,但我似乎再也找不到了 我想使用Microsoft Interop将邮件从收件箱复制到其他文件夹。我知道其他对象,如appointment和folder都有CopyTo()方法,但MailItem缺少该方法。我现在的做法是调用MailItem.Copy,然后将副本移动到另一个文件夹。我不喜欢这样,因为它会在outlook的屏幕上引起一些“闪烁”,在那里你可以看到收件箱随着电子邮件的复制和移动而增长和收缩 还有别的解决办法吗 谢谢悲伤,但这是唯一的方法 查看,可以使用扩展M

我知道我以前见过这个问题,但我似乎再也找不到了

我想使用Microsoft Interop将邮件从收件箱复制到其他文件夹。我知道其他对象,如appointment和folder都有CopyTo()方法,但MailItem缺少该方法。我现在的做法是调用MailItem.Copy,然后将副本移动到另一个文件夹。我不喜欢这样,因为它会在outlook的屏幕上引起一些“闪烁”,在那里你可以看到收件箱随着电子邮件的复制和移动而增长和收缩

还有别的解决办法吗


谢谢

悲伤,但这是唯一的方法


查看

,可以使用扩展MAPI(-C++或Delphi)进行。 如果using是一个选项,它将实现方法。类似于以下的方法应该可以工作:

  set Session = CreateObject("Redemption.RDOSession")
  Session.MAPIOBJECT = Application.Session.MAPIOBJECT

  set Item = Session.GetMessageFromID(Application.ActiveExplorer.Selection(1).EntryID)
  set Folder = Session.GetDefaultFolder(olFolderDeletedItems)

  Item.CopyTo(Folder)