Outlook赎回:MoveMultiple Mails到其他存储中的文件夹不起作用

时间:2019-07-04 14:56:42

标签: c# outlook-redemption

我正在将Outlook兑换库(http://www.dimastr.com/redemption/home.htm)用于我的Outlook加载项,并希望将多个邮件从交换帐户移到PST存储。

onlineAccountFolder.Items.MoveMultiple(onlineEntryIds, targetFolderInPstStore);

不幸的是,源邮件是从交换帐户中切出的,但是没有粘贴到pst文件的目标文件夹中-它们不见了-数据丢失-omg !!

我试图对同一商店中的交换帐户文件夹执行相同的操作,并且移动操作成功-所有项目都被移动到了目标文件夹中的源文件夹而没有数据丢失。

'MoveMultiple'方法没有重载,我可以在其中定义StoreID-我做错了吗?

提前,

彼得

2 个答案:

答案 0 :(得分:1)

我对从OutlookSpy执行的以下脚本没有问题(单击OutlookSpy工具栏上的“脚本编辑器”按钮,粘贴脚本,然后单击“运行”。)

该脚本将Outlook中选择的邮件移动到PickFolder方法返回的文件夹中。 PST和Exchange目标文件夹均可按预期工作。

set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
dim messages()
set sel = Application.ActiveExplorer.Selection
redim messages(sel.Count-1)
for i = 1 to sel.Count
  messages(i-1) = sel.Item(i).EntryID
next
set targetFolder = Session.PickFolder
set sourceFolder = Session.GetFolderFromID(Application.ActiveExplorer.CurrentFolder.EntryID)
sourceFolder.Items.MoveMultiple messages, targetFolder

答案 1 :(得分:0)

使用RDOMail类的Move方法在Outlook中的商店之间移动项目。