欢迎来到天天文库
浏览记录
ID:40896865
大小:142.45 KB
页数:6页
时间:2019-08-10
《邮件无主题或附件规范提醒》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、邮件无主题或附件规范提醒鉴于大家轮流着被批评发邮件没有主题的悲惨命运(夸张下(*^__^*)……),找到一个方式来帮助大家避免出现这样的问题。1.启动outlook,通过菜单栏的工具à宏àVisualBasic编辑器,(如果不熟悉的话,直接按Alt+F11就好)进入VBA编辑画面;2.双击左边的"ThisOutlookSession",如果看不到的话,可以如下图打开"工程资源管理器"(直接按Ctrl+r也是可以的),这样就可以看到了;将如下代码PrivateSubApplication_ItemSend(ByValItemAsObject,
2、CancelAsBoolean) IfTrim(Item.Subject)=""Then cancelSend=MsgBox("请填写主题后发送!",,"邮件主题提示") Cancel=True ExitSub EndIf IfContainsAttachmentString(Item.body)Then IfItem.Attachments.Count=0Then cancelSend=MsgBox("可能忘记粘贴附件"&vbNewLine&"你确定寄
3、出去吗?",vbYesNo+vbExclamation+vbDefaultButton2,"忘记粘贴附件提示")=vbNo Cancel=cancelSend EndIf EndIf EndSub PrivateFunctionContainsAttachmentString(mailBodyAsString) DimattachmentSign attachmentSign="attachment
4、附件" ContainsAttachmentString=RegExpMatch
5、(mailBody,attachmentSign) EndFunction FunctionRegExpMatch(ByValmyStringAsString,ByValpatternAsString) 'Createobjects. DimobjRegExpAsObject DimobjMatchAsObject DimcolMatchesAsObject DimRetStrAsString 'Createaregularexpressionobject. SetobjRegExp=CreateObject("vb
6、script.regexp") 'SetthepatternbyusingthePatternproperty. objRegExp.pattern=pattern 'SetCaseInsensitivity. objRegExp.IgnoreCase=True 'Setglobalapplicability. objRegExp.Global=True 'TestwhethertheStringcanbecompared. If(objRegExp.Test(myString)=True)Then 'Getth
7、ematches. SetcolMatches=objRegExp.Execute(myString) 'Executesearch. ForEachobjMatchIncolMatches 'IterateMatchescollection. RetStr=RetStr&"Matchfoundatposition" RetStr=RetStr&objMatch.FirstIndex&".MatchValueis'" RetStr=RetStr&objMatch.Value&"'."&vbCrLf
8、Next Else RetStr="" EndIf RegExpMatch=RetStr<>""EndFunction拷贝进去保存,关闭即可,如下图:1.设置VBA项目的数字签名通过开始à所有程序àMicrosoftOfficeàMicrosoftOffice工具àVBA项目的数字签名,就可以如下图创建一个名称为"我的VBA"证书了。1.回到VBA编辑画面,在工具à数字签名中如下选择刚才创建的数据签名。至此,大功告成了!这样在你没有写主题而选择发送邮件的时候就会提醒你是否没有写主题或正文中出现“附件”二字而没有贴附件就发送的。
9、这样,如果没有写主题或贴附件,邮件是无法发送出去的。不过要注意的是,在关闭outlook并重新打开后会弹出对于使用此数字签名的宏的警告,选择信任所有,则以后就不会出现这个警告了。
此文档下载收益归作者所有