gpt4 book ai didi

vba - Outlook 2010 规则 : Move message if greater than 5 recipients

转载 作者:行者123 更新时间:2023-12-04 19:48:25 26 4
gpt4 key购买 nike

我唯一一次收到超过 5 个收件人的电子邮件是在办公室八卦四处传播的时候。我很想制定一个规则/过滤器,将任何超过 5 个收件人的传入邮件移到垃圾文件夹中。

使用 Outlook 2010 可以吗?我在默认规则中找不到类似的东西,不确定您是否可以通过宏或其他方式对规则进行 VBA。

感谢任何见解、帮助或资源。

最佳答案

如果有人感兴趣的话,我使用 DeanOC 提供的资源编写了 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 语法。

关于vba - Outlook 2010 规则 : Move message if greater than 5 recipients,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14740311/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com