You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Outlook发送邮件触发VBA脚本问题:如何实现自动加载无需手动设置

解决Outlook VBA脚本自动加载的方法

1. 打开Outlook VBA编辑器

按快捷键 Alt + F11 直接调出VBA编辑器。

2. 找到并打开ThisOutlookSession模块

在左侧的「项目资源管理器」里,找到对应Outlook项目下的ThisOutlookSession(通常是Project1下面的),双击它打开代码编辑窗口。

3. 粘贴并调整你的BCC检查代码

把你的检查BCC的代码放到这个模块里,必须是绑定Application_ItemSend事件的过程,示例代码如下:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    ' 替换成你要检查的目标BCC账户
    Dim targetBcc As String
    targetBcc = "your-target-account@example.com"
    
    Dim recip As Recipient
    Dim hasTargetBcc As Boolean
    hasTargetBcc = False
    
    ' 遍历所有收件人,检查是否包含目标BCC账户
    For Each recip In Item.Recipients
        If recip.Type = olBCC Then
            ' 可以根据地址或显示名称判断,按需调整
            If LCase(recip.Address) = LCase(targetBcc) Then
                hasTargetBcc = True
                Exit For
            End If
        End If
    Next recip
    
    ' 如果未找到目标BCC,弹出提示并取消发送
    If Not hasTargetBcc Then
        MsgBox "请添加指定的密送账户:" & targetBcc, vbExclamation, "检查密送"
        Cancel = True ' 取消邮件发送操作
    End If
End Sub

注意:把targetBcc的值替换成你实际需要检查的账户地址。

4. 设置宏安全性

Outlook默认会阻止未签名的宏运行,需要调整设置:

  • 打开Outlook,点击「文件」→「选项」→「信任中心」→「信任中心设置」
  • 选择「宏设置」,勾选「启用所有宏(不推荐;可能会运行危险代码)」或者「通知所有宏」(推荐后者,每次启动时确认允许宏运行)
  • 点击「确定」保存设置

5. 保存并测试

  • 在VBA编辑器里,按Ctrl + S保存,此时会生成一个VbaProject.otm文件(默认存储在用户目录的AppData\Roaming\Microsoft\Outlook下)
  • 关闭并重新启动Outlook
  • 新建一封邮件,点击「发送」,如果未添加指定BCC,应该会弹出提示框并阻止发送,说明脚本已自动生效

关键说明

  • ThisOutlookSession是Outlook启动时自动加载的特殊模块,只有放在这里的事件过程(比如Application_ItemSend)才会自动绑定并触发
  • 不要把代码放到普通模块里,普通模块的代码不会自动关联Outlook的应用事件

内容的提问来源于stack exchange,提问作者ArxAngel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 21:50:55