ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

outlook2007如何做自动密件抄送

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-11-2 16:44 | 显示全部楼层 |阅读模式
在论坛里看了outlook2003规则--自动密件抄送如何做后,里面的代码应用的outlook2007不起作用,请问要修改哪里才能在2007里运行.谢

代码如下:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim objRecip As Recipient
    Dim strMsg As String
    Dim res As Integer
    Dim strBcc As String
    On Error Resume Next

    strBcc = "postmaster@bk.com" '请改成你要密送的邮件地址

    Set objRecip = Item.Recipients.Add(strBcc)
    objRecip.Type = olBCC
    If Not objRecip.Resolve Then
        strMsg = "不能解析密件抄送人邮件地址, " & _
                 "请确认是否仍然发送邮件?"
        res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _
                "不能解析密件抄送人邮件地址")
        If res = vbNo Then
            Cancel = True
        End If
    End If

    Set objRecip = Nothing

End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-11-3 17:58 | 显示全部楼层
经反复试验,以上代码均能用于OUTLOOK2003/2007. 之前不能用于OUTLOOK2007是因为在垃圾邮件选的是项里保护级别设置高了.

TA的精华主题

TA的得分主题

发表于 2009-11-20 16:23 | 显示全部楼层
能说说怎么去执行这个代码吗,我是一个OUTLOOK新手

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-11-21 09:37 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-11-21 15:12 | 显示全部楼层
可能我默认设置有问题,按ALT+F11打开VB编辑器之后右边显示的是一片灰蒙蒙的区域,不可粘贴,请问粘贴的窗口是模块还是类模块?可能我的OFFICE宏安全性设置比较高。鉴于我这种情况,能否指点我完成?

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-11-23 09:08 | 显示全部楼层
先把OUTLOOK里宏的安全性降低,关闭OUTLOOK后重启然后再按ALT+F11, 选择ThisOutlookSession项,粘贴代码即可。

TA的精华主题

TA的得分主题

发表于 2009-11-24 14:33 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-11-24 21:24 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢楼主分享
以后就不用一个一个的添加右键地址了!

TA的精华主题

TA的得分主题

发表于 2009-11-26 11:30 | 显示全部楼层
楼主,我又回来了,我想再加一个附件提醒的功能,代码如下,请问我是加在你那段代码后面还是新建一个什么窗口,还是ThisOutlookSession吗,如何建?
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

Dim lngres As Long

'检查邮件是否添加附件
If InStr(1, Item.Body, "附件") Or InStr(1, Item.Body, "attachment") Or InStr(1, Item.Body, "enclosed file") _
Or InStr(1, Item.Body, "Enclosed file") Or InStr(1, Item.Body, "Attachment") <> 0 Then

  If Item.Attachments.Count = 0 Then

      Application.Explorers(1).Activate

             lngres = MsgBox("邮件内容中包含“附件”,但是没有发现附件!" & Chr(10) & "仍然发送?", _
             vbYesNo + vbDefaultButton2 + vbQuestion, "提示")

     If lngres = vbNo Then
     Cancel = True
     Item.Display
     Exit Sub
     End If

  End If

End If

'检查是否写主题
If Item.Subject = "" Then
Application.Explorers(1).Activate
lngres = MsgBox("邮件还没有写主题呢!" & Chr(10) & "仍然发送?", _
vbYesNo + vbDefaultButton2 + vbQuestion, "提示")
If lngres = vbNo Then
Cancel = True
Item.Display
Exit Sub
End If
End If
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-11-27 09:51 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请看以下代码:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim lngres As Long
'检查邮件是否添加附件
If InStr(1, Item.Body, "附件") <> 0 Then
If Item.Attachments.Count = 0 Then
Application.Explorers(1).Activate
lngres = MsgBox("邮件内容中包含“附件”,但是没有发现附件!" & Chr(10) & "仍然发送?", _
vbYesNo + vbDefaultButton2 + vbQuestion, "提示")

If lngres = vbNo Then
Cancel = True
Item.Display
Exit Sub
End If


End If
End If

'检查是否写主题
If Item.Subject = "" Then
Application.Explorers(1).Activate
lngres = MsgBox("邮件还没有写主题呢!" & Chr(10) & "仍然发送?", _
vbYesNo + vbDefaultButton2 + vbQuestion, "提示")
If lngres = vbNo Then
Cancel = True
Item.Display
Exit Sub
End If
End If

  Dim objRecip As Recipient
    Dim strMsg As String
    Dim res As Integer
    Dim strBcc As String
    On Error Resume Next

    strBcc = "postmaster@bk.com" '请改成你要密送的邮件地址

    Set objRecip = Item.Recipients.Add(strBcc)
    objRecip.Type = olBCC
    If Not objRecip.Resolve Then
        strMsg = "不能解析密件抄送人邮件地址, " & _
                 "请确认是否仍然发送邮件?"
        res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _
                "不能解析密件抄送人邮件地址")
        If res = vbNo Then
            Cancel = True
        End If
    End If

    Set objRecip = Nothing
End Sub

[ 本帖最后由 jazzken 于 2009-11-27 13:58 编辑 ]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-27 11:29 , Processed in 0.043454 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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