Word·VBA实现邮件合并

目录

之前写过的一篇使用《python实现word邮件合并》,本文为vba实现方法

制作邮件合并模板


域名可以使用中文,最终完成的word模板,wps操作步骤类似

VBA实现邮件合并

Excel启用宏的工作表运行以下代码,读取当前工作表数据,对模板word文档,按工作表表头名称对同一域名写入值,生成新文档

vbnet 复制代码
Sub word邮件合并_按域名写入()
    '读取当前工作表数据,按arr二维数组第1行表头名称,对word文档中同一域名写入值,生成新文档
    Dim fso As Object, wd As Object, docx$, save_path$, arr, i&, j&, k, v, f, fs
'--------------------参数填写:docx、arr、save_path
    docx = "E:\测试\docx\证明-模板word.docx"  '模板文件路径
    arr = ActiveSheet.[a1].CurrentRegion.Value     '合并数据,当前工作表
    save_path = ActiveWorkbook.path & "\结果\"     '文件保存路径
    Set fso = CreateObject("Scripting.FileSystemObject"): tm = Timer
    If Not fso.FolderExists(save_path) Then fso.CreateFolder (save_path)  '创建文件夹
    Set wd = CreateObject("word.application") ': wd.Visible = True  '默认不可见
    Set tmpl = wd.Documents.Open(docx)
    For i = 2 To UBound(arr)
        With tmpl
            For j = 1 To UBound(arr, 2)
                k = arr(1, j): v = arr(i, j)  'k表头/域名,v值
                Set fs = .Content.Fields  '域集合
                For Each f In fs
                    'Field.Code域代码,Field.Result域结果
                    If InStr(f.Code.text, k) Then f.result.text = v
                Next
            Next
            .SaveAs save_path & arr(i, 2) & ".docx"
        End With
    Next
    tmpl.Close: wd.Quit  '关闭文件,退出程序
    Debug.Print "word邮件合并完成,用时:" & Format(Timer - tm, "0.00")
End Sub

举例

Excel工作表表头与Word文档域名相同

  • 合并结果,20个文件生成用时4.62秒

相关推荐
农村小镇哥2 天前
怎么把HTM格式转化成WORD
ui·c#·word
AC赳赳老秦2 天前
网页公开附件自动采集:OpenClaw 批量下载页面内嵌 Word/Excel 附件,统一格式后结构化入库
java·python·word·php·excel·deepseek·openclaw
asdzx673 天前
Java 实战:基于 Spire.Doc 高效提取 Word 文档文本与图片
java·c#·word
VBAMatrix3 天前
表格导航!实现Word合并附注与多个Excel的数据同步
word·excel·审计报告·审计·会计师事务所·报告工具
塞纳河畔的歌3 天前
保姆级教程 | Windows 安装适配 Word 的字体
word
DS随心转小程序4 天前
文心文字怎么转为 word?告别繁琐排版操作,AI 导出鸭一站式完成文档转换工作
人工智能·word·豆包·deepseek·ai导出鸭
AI导出鸭4 天前
怎么让千问做表格?AI导出鸭苹果版将千问输出的管道表格智能解析为二维结构,一键导出为Excel或Word标准表格。
人工智能·chatgpt·word·excel·ai导出鸭
zyplayer-doc4 天前
zyplayer-doc企业知识库能做什么:从文档创建、权限管理到AI问答的完整能力
大数据·javascript·数据库·人工智能·pdf·word
zyplayer-doc6 天前
企业文档改错或误删后怎么办:zyplayer-doc编辑历史、版本回滚和回收站怎么用
大数据·开发语言·javascript·数据库·pdf·word
Ai-_Man7 天前
豆包智能体内容批量导出:哪些该存、存成什么、怎么存v
人工智能·ai·小程序·word