Автоматическое перемещение электронной почты из папки «Удаленные» в другую папку

Моя компания использует облачную систему Exchange, которая удаляет электронные письма, если они находятся в папке «Удаленные» в течение 30 дней (мы используем клиенты Outlook 2010). Мне нужен сценарий, который перемещал бы всю электронную почту из папки «Удаленные» во вторую папку под названием «Корзина». Я смог найти большую часть следующего скрипта в Интернете, но он у меня не работает, и я не уверен, что отсутствует/неверно. Любая помощь приветствуется...

Sub MoveDeletedItems()
Dim oSource As Outlook.MAPIFolder
Dim oTarget As OutlookMAPIFolder
Dim oDummy As Object
Dim oToMove As Object
Dim colItems As Outlook.Items
Dim i As Long

Set oSource = Application.Session.GetDefaultFolder(olFolderDeletedItems)
Set oTarget = oSource.Folders.Folder("Trash")

Set colItems = oSource.Items

For i = colItems.Count To 1 Step -1
Set oToMove = colItems(i)
Set oDummy = oToMove.Move(oTarget)
Next
End Sub

person T. Jones    schedule 23.10.2013    source источник
comment
Мы понятия не имеем, как это не работает для вас, попробуйте добавить соответствующую информацию о том, что не работает   -  person Sorceri    schedule 24.10.2013
comment
Я был бы рад добавить больше информации. Что вы ищете? Я пытаюсь запустить скрипт выше и, насколько я вижу, ничего не происходит.   -  person T. Jones    schedule 24.10.2013
comment
stackoverflow.com/questions/how-to-ask   -  person Sorceri    schedule 24.10.2013
comment
Возможно, я не совсем ясно формулирую свой вопрос. Я попробую еще раз. Я пытаюсь использовать сценарий VB, который при запуске перемещает (а не копирует) электронную почту из папки «Удаленные» в Outlook 2010 с использованием учетной записи Exchange в другую папку. Пока у меня есть сценарий, который вы видите выше. Когда я запускаю сценарий VB, насколько я могу судить, ничего не происходит. Электронная почта не перемещается из папки «Удаленные». Я надеюсь на помощь в виде того, что кто-то, кто знает VB Scripting, может указать на ошибку в приведенном выше коде.   -  person T. Jones    schedule 24.10.2013


Ответы (1)


Fist у вас есть много вещей, которые вам не нужны

Вот пример с комментариями, которые можно запустить как макрос в Outlook.

Sub MoveDeletedItems()
'setup some error checking
On Error GoTo err_rpt
Dim oSource As Outlook.MAPIFolder
Dim oTarget As Outlook.MAPIFolder
Dim oItem

'get the deleted Items folder
Set oSource = Application.Session.GetDefaultFolder(olFolderDeletedItems)
'get the folder under the Deleted Items folder called Trash
Set oTarget = oSource.Folders("Trash")
'loop through all the items in the source folder
For Each oMailItem In oSource.Items 
    'move the item to the target folder
    oItem.Move oTarget
Next

err_rpt:
If Err.Number > 0 Then
    MsgBox Err.Description
End If
'release the folders
Set oTarget = Nothing
Set oSource = Nothing
End Sub
person Sorceri    schedule 24.10.2013
comment
Sorceri, спасибо за ваше время и ответ. Это очень ценится! - person T. Jones; 28.10.2013