1

Я хотел бы иметь макрос в Outlook 2007 для перемещения выбранных элементов в подпапки папки «Входящие», помечая их как непрочитанные на ходу. Таким образом, я могу назначить кнопки для быстрого перемещения предметов в мою сделку сегодня и раздачи папок на этой неделе.

Большое спасибо,

Сэм

1 ответ1

2

Я искал этот вопрос на сайте и в других местах в сети и не мог быстро найти простой ответ, поэтому сам написал код. Вот для следующего человека, который хочет достичь этого:

Option Explicit

Public Sub Today()

Dim myFolder As Folder

    Set myFolder = GetInboxSubFolder("* 0. Today")
    If Not myFolder Is Nothing Then
        MoveItemAndMarkAsUnread myFolder
    End If

End Sub

Private Function GetInboxSubFolder(folderName As String) As Folder

Dim myNamespace As NameSpace
Dim myInbox As Folder

    Set myNamespace = Application.GetNamespace("MAPI")
    Set myInbox = myNamespace.GetDefaultFolder(olFolderInbox)
    Set GetInboxSubFolder = myInbox.Folders(folderName)

End Function

Private Sub MoveItemAndMarkAsUnread(myFolder As Folder)

Dim myExplorer As Explorer
Dim mySelection As Selection

    Set myExplorer = Application.ActiveExplorer
    Set mySelection = myExplorer.Selection

Dim i As Integer
Dim myItem As MailItem

    For i = mySelection.Count To 1 Step -1

        mySelection.Item(i).UnRead = True
        mySelection.Item(i).Move myFolder

    Next i

End Sub

Надеюсь, это кому-нибудь пригодится

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .