Como eu escrevo uma macro no Outlook 2007 para mover um item da minha caixa de entrada para outra pasta e marke como não lida?

1

Eu gostaria de ter uma macro no Outlook 2007 para mover itens selecionados para subpastas da minha caixa de entrada, marcando-os como não lidos como eu vou. Dessa forma, posso atribuir botões para mover itens rapidamente para o meu negócio hoje e negociar as pastas desta semana.

Muito obrigado,

Sam

    
por Sam Meldrum 21.01.2010 / 11:51

1 resposta

2

Eu procurei por essa pergunta no site e em outros lugares na Internet e não consegui encontrar uma resposta fácil, então escrevi o código sozinho. Aqui para a próxima pessoa que quer conseguir isso:

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

Espero que isso seja útil para alguém

    
por 21.01.2010 / 11:54