Outlook 2010 ルール: 受信者が 5 人を超える場合はメッセージを移動する

Outlook 2010 ルール: 受信者が 5 人を超える場合はメッセージを移動する

受信者が 5 人以上のメールを受信するのは、オフィスで噂が広まっているときだけです。受信者が 5 人以上の受信メッセージを迷惑メール フォルダーに移動するためのルール/フィルターを作成したいです。

Outlook 2010 でそれは可能ですか? 既定のルールではそのようなものは見つかりませんでした。ルールを VB で実行できるかどうかはわかりませんでした。ご意見をお聞かせいただければ幸いです。

答え1

ご興味があれば、StackOverflow と SuperUser のリソースを使用して VBA スクリプトを作成しました。

このスクリプトは、すべての受信メールを取得し、To:フィールド内の受信者をカウントします。受信者数が 5 を超える場合は、メールを既読としてマークし、フォルダーに移動しますGossip

CVS件名に (10 人の受信者がいる同時バージョン システムから更新を取得して) 含まれているかどうかを確認し、適切なフォルダーに移動する2 番目の条件もあります。

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 構文を使用する初めての試みでした。

関連情報