Sub MoveItems()
Dim Messages As Selection
Dim Msg As MailItem
Dim NS As NameSpace
Set NS = Application.GetNamespace("MAPI")
Set Messages = ActiveExplorer.Selection
If Messages.Count = 0 Then
Exit Sub
End If
For Each Msg In Messages
Msg.Move NS.Folders("Personal Folders").Folders("SavedMail")
Next
End Sub
Этот код переместит все сообщения электронной почты из текущей выбранной папки в Outlook в другую папку (SavedMail). Я хотел бы отредактировать код таким образом, чтобы вместо использования текущей выбранной папки в качестве источника сообщений была бы жестко закодированная папка - что-то вроде Set Messages = NS.Folders("Personal Folders").Folders("Moved")
.
Я новичок в VBA и пытался просто заменить строку «Set Messages» на эту, что привело к ошибке времени выполнения «13»: несоответствие типов, которое, я думаю, относится к несоответствию команд Dim Messages и Set Messages. Я попытался использовать различные определения Dim без удачи. Я предполагаю, что тот, кто знает VBA, увидит способ сделать это прямо сейчас.