ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 7227|回复: 2

[求助] 如何實現office outlook 中沒有主旨郵件的提醒功能

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-11-6 18:29 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
各位高人,
        我在寫郵件是經常忘記填寫郵件的主旨,為這事經常挨批。請問有沒有在發送郵件時,如果沒有主旨,會自動提醒功能?

TA的精华主题

TA的得分主题

发表于 2009-11-6 21:15 | 显示全部楼层
在outlook的ThisOutlookSession中添加如下代码即可:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
On Error Resume Next
    Dim message As Outlook.MailItem
    Set message = Item
   
    If Not CheckAttachment(message) Then
        Cancel = True
        Exit Sub
    End If
   
    If Not CheckSubject(message) Then
        Cancel = True
        Exit Sub
    End If
End Sub

Private Function CheckAttachment(message As Outlook.MailItem) As Boolean
    CheckAttachment = True
    If (message.Attachments.Count = 0 And _
            (InStr(message, "附件") > 0 Or InStr(message.Body, "附件") > 0)) Then
        Dim answer As VbMsgBoxResult
        answer = MsgBox("没有附件, 是否继续发送?", vbYesNo + vbQuestion, "Microsoft Office Outlook")
        If answer = vbNo Then
            CheckAttachment = False
        Else
            CheckAttachment = True
        End If
    End If
End Function

Private Function CheckSubject(message As Outlook.MailItem) As Boolean
    CheckSubject = True
    If message.Subject = "" Then
        Dim answer As VbMsgBoxResult
        answer = MsgBox("没有主题, 是否继续发送?", vbYesNo + vbQuestion, "Microsoft Office Outlook")
        If answer = vbNo Then
            CheckSubject = False
        Else
            CheckSubject = True
        End If
    End If
End Function

[ 本帖最后由 zealot30 于 2009-11-6 21:20 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-11-6 21:19 | 显示全部楼层
在某些特殊情况下,打开outlook后,不能响应这些事件。我遇到的是如果以最小化的方式打开,会不响应所有的事件处理代码,也不知道是什么原因。
所以我加了这么一段,只要是弹出提示窗口了,我就可以放心使用outlook了,不怕忘了写主体或者忘了挂附件之类的了。
Private Sub Application_Startup()

    MsgBox "Welcome, " & Application.GetNamespace("MAPI").CurrentUser

End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-26 22:54 , Processed in 0.041735 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表