Outlook 2010 規則:如果收件者數量超過 5 個,則行動郵件

Outlook 2010 規則:如果收件者數量超過 5 個,則行動郵件

我唯一一次收到超過 5 個收件者的電子郵件是在辦公室八卦傳開的時候。我很樂意制定一個規則/過濾器,將任何超過 5 個收件人的傳入郵件移至垃圾資料夾中。

Outlook 2010 可以實現這一點嗎?我在預設規則中找不到類似的內容,不確定是否可以用 VB 編寫該規則。任何見解都值得讚賞。

答案1

如果有人有興趣的話,我使用 StackOverflow 和 SuperUser 的資源編寫了 VBA 腳本。

此腳本會取得所有傳入電子郵件並對欄位中的收件者進行計數To:,如果收件者計數大於 5,則將其標記為已讀,並將其移至Gossip資料夾。

還有一個次要條件來檢查主題是否包含CVS(我們從有 10 個收件人的並發版本系統獲取更新)並移動到適當的資料夾。

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

如果這不是最正式的格式,我深表歉意,並且我知道它可以組織得更好一些,但這是我第一次嘗試使用任何 Visual Basic 語法。

相關內容