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

如何在Outlook模板中用多输入框修改主题并自动发送邮件

Outlook模板自动生成主题并发送邮件方案

你的需求完全可以实现,以下是调整后的中文版本代码,解决原代码的潜在问题并适配中文场景:

Private Sub Application_ItemLoad(ByVal Item As Object)
    ' 定义Outlook邮件类常量,避免未定义错误
    Const olMail As Integer = 43
    
    ' 关闭错误忽略,便于排查问题
    On Error GoTo ErrorHandler
    
    ' 判断打开的是邮件项,且主题匹配你的模板主题
    If Item.Class = olMail Then
        If Item.Subject = "你的邮件模板主题" Then
            Dim 编号 As String, 地点 As String, 日期 As String
            Dim 组合主题 As String
            
            ' 依次弹出输入框收集信息
            编号 = InputBox("请输入编号:")
            If 编号 = "" Then Exit Sub ' 用户取消输入,终止流程
            
            地点 = InputBox("请输入地点:")
            If 地点 = "" Then Exit Sub
            
            日期 = InputBox("请输入日期:")
            If 日期 = "" Then Exit Sub
            
            ' 组合主题行
            组合主题 = 编号 & " " & 地点 & " " & 日期
            Item.Subject = 组合主题
            
            ' 自动发送邮件
            Item.Send
        End If
    End If
    
ExitSub:
    Exit Sub
ErrorHandler:
    MsgBox "发生错误:" & Err.Description, vbExclamation
    Resume ExitSub
End Sub

操作步骤:

  1. 打开Outlook,按下Alt+F11打开VBA编辑器
  2. 在左侧导航栏展开Project1 -> Microsoft Outlook Objects,双击ThisOutlookSession
  3. 将上述代码粘贴进去,把代码里的"你的邮件模板主题"替换成你实际的邮件模板主题
  4. 保存文件,关闭VBA编辑器
  5. 调整Outlook宏安全设置:文件 -> 选项 -> 信任中心 -> 信任中心设置 -> 宏设置,选择"启用所有宏"(或"启用签署的宏",如果给宏签名的话)

注意事项:

  • 模板的主题必须和代码中填写的完全一致,否则不会触发弹窗
  • 如果用户在任意输入框点击取消或留空,流程会终止,不会发送邮件
  • 自动发送前不会弹出确认窗口,确保模板内容已经提前设置好

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 09:58:13