![Outlook 2010 ルール: 受信者が 5 人を超える場合はメッセージを移動する](https://rvso.com/image/1350292/Outlook%202010%20%E3%83%AB%E3%83%BC%E3%83%AB%3A%20%E5%8F%97%E4%BF%A1%E8%80%85%E3%81%8C%205%20%E4%BA%BA%E3%82%92%E8%B6%85%E3%81%88%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E7%A7%BB%E5%8B%95%E3%81%99%E3%82%8B.png)
受信者が 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 構文を使用する初めての試みでした。