Answers:
没有内置的方法可以做到这一点,但你可以用宏实现它。
脚步 1 :
在Outlook中,按 Alt键 + F11 打开 Microsoft Visual Basic 。
在屏幕左侧,展开名为的文件夹 Microsoft Office Outlook 然后双击 ThisOutlookSession 。 2
在窗口 VbaProject.OTM - TheOutlookSession , 选择 应用 在左边和 ItemSend 在右侧下拉菜单中。 2
用以下内容替换窗口主体中出现的代码:
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
按 按Ctrl + 小号 保存。
按 Alt键 + Q 返回Outlook。
如果中有超过10个收件人,此宏将显示警告 至 字段(基于用于分隔收件人的分号数)。你可以点击 OK
解雇警告或 Cancel
中止。 3
1 我正在使用Outlook 2007(西班牙语)。我希望Outlook 2010类似。
3
我接受了Sudo的回答,并将其计入CC和BCC的收件人,以防万一有人想要它:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim Recipients As Integer
Dim Start As Integer
Dim Last As Integer
Dim RecipientFields As String
Recipients = 1
RecipientFields = Item.To
If (Item.CC <> "") Then
RecipientFields = RecipientFields + ";" + Item.CC
End If
If (Item.BCC <> "") Then
RecipientFields = RecipientFields + ";" + Item.BCC
End If
Do
Start = Last + 1
Last = InStr(Start, RecipientFields, ";")
If Last = 0 Then Exit Do
Recipients = Recipients + 1
Loop
If (Recipients > 6) Then
Cancel = (MsgBox("You have " & Str(Recipients) & " recipients in To/CC/BCC fields. Click OK to send.", vbOKCancel) = vbCancel)
End If
End Sub