3

5人以上の受信者からのメールを受け取るのは、オフィスのゴシップが流れているときだけです。5人以上の受信者がいる受信メッセージをジャンクフォルダに移動するためのルール/フィルタを作成したいと思います。

Outlook 2010でそれは可能ですか?デフォルトのルールではそのようなものは見つかりませんでした。マクロなどを使用してルールをVBAできるかどうかはわかりませんでした。

洞察、ヘルプ、またはリソースをいただければ幸いです。

4

2 に答える 2

3

このリンク:Outlook 2010で受信メッセージの本文のテキストをハイパーリンクに置き換える方法は?「メッセージ到着後」条件を使用するときにカスタムアクションを作成する方法を示します。メールアイテムに問い合わせて5人以上の受信者がいるかどうかを確認するために、VBAコードを変更してから、メールアイテムをジャンクフォルダに移動する必要があります。

MailItem.Toプロパティ(セミコロンで区切られた文字列)を確認すると、受信者を見つけることができます。

メッセージが条件を満たしている場合は、このMailItem.Moveメソッドを使用してメッセージを目的のフォルダーに移動できます。

このリンク:MailItemメンバー(Outlook)は、オブジェクトに関する詳細情報を提供しMailItemます。

于 2013-02-07T02:39:53.990 に答える
3

興味のある人がいれば、DeanOCが提供するリソースを使用してVBAスクリプトを作成しました。

このスクリプトは、すべての受信メールを受け取り、To:フィールドで受信者をカウントします。受信者数が5より大きい場合は、既読としてマークし、Gossipフォルダーに移動します。

サブジェクトに含まれているかどうかを確認するための2番目の条件もあり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

これが最も正式な形式ではないことをお詫びします。もう少しうまく整理できることはわかっていますが、これはVisualBasic構文を使用する最初の試みでした。

于 2013-02-07T19:09:52.873 に答える