Outlook Redemption: перемещение нескольких писем в папку в другом магазине не работает - PullRequest
2 голосов
/ 04 июля 2019

Я использую библиотеку погашения Outlook (http://www.dimastr.com/redemption/home.htm) для своей надстройки Outlook и хочу переместить несколько писем из учетной записи Exchange в PST-хранилище.

onlineAccountFolder.Items.MoveMultiple(onlineEntryIds, targetFolderInPstStore);

К сожалению, исходные письма были вырезаны из учетной записи Exchange, но не вставлены в целевую папку в файле pst - они пропали - потеря данных - господи !!

Я попытался выполнить ту же операцию для папки учетной записи Exchange в том же хранилище, и операция перемещения прошла успешно - все элементы были перемещены в целевую папку в исходную папку без потери данных.

Нет перегрузки метода MoveMultiple, в котором я могу определить StoreID. Я что-то не так делаю?

Спасибо заранее,

Peter

Ответы [ 2 ]

1 голос
/ 04 июля 2019

У меня не было проблем со следующим сценарием, выполняемым из 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
0 голосов
/ 04 июля 2019

Используйте метод Move класса RDOMail для перемещения элементов между магазинами в Outlook.

...