Eu escrevi o script VBA usando recursos do StackOverflow e SuperUser, se alguém estiver interessado.
Este script recebe todos os e-mails recebidos e conta os destinatários no campo To:
, se a contagem de destinatários for maior que 5, marca como lida e move para uma pasta Gossip
.
Há também uma condição secundária para verificar se o assunto contém CVS
(recebemos atualizações de nosso sistema de versão simultânea que tem 10 destinatários) e movemos para a pasta apropriada.
Sub moveOfficeGossip(item As Outlook.MailItem)
Dim strNames As String, i As Integer, j As Integer, cvs As String
Dim olApp As New Outlook.Application
Dim olNameSpace As Outlook.NameSpace
Dim olDestFolder As Outlook.MAPIFolder
j = 1
cvs = "CVS"
strNames = item.To
Set olNameSpace = olApp.GetNamespace("MAPI")
For i = 1 To Len(strNames)
If Mid(strNames, i, 1) = ";" Then j = j + 1
Next i
If (j >= 5) Then
If InStr(UCase(item.subject), cvs) Then
Set olDestFolder = olNameSpace.Folders("Personal Folders").Folders("Filtered").Folders("CVS")
item.Move olDestFolder
Else
Set olDestFolder = olNameSpace.Folders("Personal Folders").Folders("Filtered").Folders("Gossip")
item.UnRead = False
item.Move olDestFolder
End If
End If
End Sub
Peço desculpas se isso não estiver no formato mais formal e sei que ele pode ser organizado um pouco melhor, mas essa foi minha primeira tentativa de usar qualquer sintaxe do Visual Basic.