2010-03-04 15 views
5

Sto tentando di impostare le categorie di messaggi di posta per la selezione corrente. Quando eseguo la macro, il risultato è che solo un singolo messaggio viene impostato sulla categoria specificata. Io uso il seguente codice (e hanno anche cercato di utilizzare un fai until..loop utilizzando i selection.count):L'impostazione di categorie utilizzando VBA su una selezione non sembra funzionare in Outlook 2007

Sub SetSelectionComplete() 
    Dim mailMsg As MailItem 

    For Each mailMsg In Outlook.Application.ActiveExplorer.Selection 
     mailMsg.Categories = "Complete" 
    Next 

End Sub 

Tutte le idee?

+0

Quanti articoli sono effettivamente selezionato? Metti un 'Msgbox (ActiveExplorer.Selection.Count)' prima del ciclo – shahkalpesh

+0

3 elementi, a volte il primo ottiene la categoria a volte il secondo ma mai tutti ... – Janco

+0

Hai provato per i = selection.count a 1 passo -1? A volte è necessario tornare indietro attraverso le raccolte perché la modifica ai dati modifica la raccolta. – Fionnuala

risposta

0

Janco È necessario chiamare Mailitem.Save Come Remou dice che lavorare con la selezione è un buon modo per lavorare all'indietro. Marcus

3

Salvare il MailMsg voce di volta in volta, in questo modo:

Sub SetSelectionComplete() 
    Dim mailMsg As MailItem 
    For Each mailMsg In Outlook.Application.ActiveExplorer.Selection 
     mailMsg.Categories = "Complete" 
     mailMsg.Save 
    Next 
End Sub 
Problemi correlati