如何根据" CC的数量建立前景规则:"地址?

时间:2017-06-29 13:45:06

标签: vba email outlook outlook-vba

我需要在Outlook 2016中创建一个规则,当" CC中有超过十个电子邮件地址时会弹出警告:"领域。

我在快速谷歌搜索中找到了这个结果,它做了同样的事情,但在" To:"中使用了电子邮件地址。领域。我是VBA的新手,所以我不确定需要更改哪一行来切换它来查看CC电子邮件而不是To。

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim Recipients As Integer
    Dim Start As Integer
    Dim Last As Integer
    Recipients = 1
    Do
        Start = Last + 1
        Last = InStr(Start, Item.To, ";")
        If Last = 0 Then Exit Do
        Recipients = Recipients + 1
    Loop
    If (Recipients > 10) Then
        Cancel = (MsgBox(Str(Recipients) & " recipients in To field.", vbOKCancel) = vbCancel)
    End If
End Sub

1 个答案:

答案 0 :(得分:0)

我无法发布"评论",所以我发布了一个"答案"

"分裂" function返回一个数组,该数组基于零(第一个元素在索引0处)

因此,ubound为10个元素数组返回9

这是代码,Nathan_Sav建议改变,

加上代码更改,将一个添加到ubound函数的结果

同样...当收件人太多时弹出的对话框没有提到按下任一按钮时会发生什么

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

    Dim Recipients As Integer

    Recipients = ubound(split(item.cc,";")) + 1   ' shift array index by one

    If (Recipients > 10) Then
        Cancel = (MsgBox(Str(Recipients) & " recipients in CC field.", vbOKCancel) = vbCancel)
    End If

End Sub