你好,
这是我上面link中提到的代码:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
' 只检查邮件类型
If TypeName(Item) <> "MailItem" Then Exit Sub
Dim intRet As Integer
Dim strMsg As String
' 空主题?
If Item.Subject = "" Then
strMsg = "您的邮件缺少主题,返回填写吗?" & vbCrLf & "没有主题的邮件可不礼貌哦~"
intRet = MsgBox(strMsg, vbYesNo + vbExclamation, "缺少主题")
If intRet = vbYes Then
Cancel = True
Exit Sub
End If
End If
' 忘了帖附件?
Dim intRes As Integer
Dim strThismsg As String
Dim intOldmsgstart As Integer
Dim sSearchStrings(2) As String
Dim bFoundSearchstring As Boolean
Dim i As Integer
' 指定提示邮件可能需要附件的词
bFoundSearchstring = False
' 英文邮件
sSearchStrings(0) = "attach"
sSearchStrings(1) = "enclose"
' 中文邮件
sSearchStrings(2) = "附件"
' 对于转发和回复的邮件,不要到信末附的邮件原文进行搜索
' 纯文本格式的原文信头是“Original Message”或“邮件原件”,但HTML格式的回复没有
intOldmsgstart = InStr(Item.Body, "发件人:")
' 如果在邮件国际选项中打开了“答复和转发时邮件头使用英语”,则应该搜索英文信头
' intRes作为临时变量
intRes = InStr(Item.Body, "From:")
' 对于多次回复和转发又有多种语言的情况,总是选择最上一封
If intRes > 0 Then
If (intOldmsgstart = 0) Or (intOldmsgstart > 0 And intRes < intOldmsgstart) Then
intOldmsgstart = intRes
End If
End If
If intOldmsgstart = 0 Then
' 不是Re/Fw的邮件则搜索邮件全文和主题
strThismsg = Item.Body + " " + Item.Subject
Else
' 是Re/Fw的邮件则只搜索用户写的部分和邮件主题
strThismsg = Left(Item.Body, intOldmsgstart) + " " + Item.Subject
End If
' 搜索邮件正文(和主题)中所有可能提示邮件需要附件的词
For i = LBound(sSearchStrings) To UBound(sSearchStrings)
If InStr(LCase(strThismsg), sSearchStrings(i)) > 0 Then
bFoundSearchstring = True
Exit For
End If
Next i
If bFoundSearchstring Then
If Item.Attachments.Count = 0 Then
strMsg = "您的邮件可能缺少附件!" & vbCrLf & "是否仍要发送?"
intRet = MsgBox(strMsg, vbYesNo+vbDefaultButton2+vbExclamation, "缺少附件")
If intRet = vbNo Then
Cancel = True
Exit Sub
End If
End If
End If
End Sub
(1)打开Outlook;
(2)按Alt + F11打开VBA;
(3)点击左侧树状目录最下面的“ThisOutlookSession”,看到右边出现空白的编辑窗口;
(4)把上面的代码复制到编辑窗口,保存即可。不用重启Outlook.
如果你的outlook是中文版本的话,按照上面的步骤操作, 我这边是可以工作的。
假如你新建一个新的email,填写了地址和主题, 在下面的正文中涉及到“附件”两个字,但是没有添加附件直接点击发送的话, 你就会收到提醒。
如果你的outlook的英文版本的话,你不需要任何操作, 新建一个新的email, 填写地址和主题, 在下面正文中涉及“Attachment”这个单词, 但是没有添加附件直接点击发送的话, 你也会收到提醒。