Estou tentando escrever um código vba que executaria uma regra específica na pasta "lixo eletrônico" de todas as minhas contas do Outlook.
No momento eu tenho isso (encontrei na internet), mas parece que só funciona em 1 das 2 contas conectadas:
Dim st As Outlook.Store
Dim myRules As Outlook.Rules
Dim rl As Outlook.Rule
Dim ruleList As String
Dim fldJunk As Outlook.Folder
Dim oAccount As Outlook.Account
For Each oAccount In Outlook.Application.Session.Accounts
' get default store (where rules live)
Set st = Application.Session.DefaultStore
' get rules
Set myRules = st.GetRules
' get Junk e-mail folder
Set fldJunk = st.GetDefaultFolder(olFolderJunk)
' iterate all the rules
For Each rl In myRules
If rl.Name = "Junk Cleaner" Then
rl.Execute ShowProgress:=True, Folder:=fldJunk
ruleList = ruleList & vbCrLf & rl.Name
End If
Next
Next
Tenho a impressão que mesmo que eu faça um loop "para cada conta", não tenho certeza se o corpo do loop leva em conta a mudança de conta...
Desde já, obrigado! :)
Eu tentei implementar um loop:
For Each oAccount In Outlook.Application.Session.Accounts
Mas parece não funcionar Só funciona na primeira conta de todas as minhas contas conectadas no Outlook :(