这个需求源于要批量生成模板一样的word文档。当然可以直接使用word的邮件合并功能,点菜单就可以实现,示例代码如下:

要使用这些代码,需要引用2个库microsoft word,microsoft office,如果使用到客体界面的话,还要引用microsoft Forms。本代码可以同时利用两个模板生成新的文档。其原理就是查找替换,没啥,减轻工作量。

Sub cmdPrinta_Click()Dim mypath$, mypathN$, aar1Dim r1%, r2%, n2%, j%Dim Wordapp As Word.ApplicationDim WordD As Word.Document      '定义word类Set Wordapp = New Word.Application  '这里需要一个新的'Wordapp.ScreenUpdating =False             '屏幕刷新'Set WordD = Wordapp.Documents.Add                  '新建文档If Len(txtlujing) > 1 ThenmypathN = txtlujingElsemypathN = ThisWorkbook.Path & "\"End Ifmypath = ThisWorkbook.Path & "\"'初始化参数,要替换aar1 = Sheets("说明文字").Range("c5:d23")tbldata = "sheet1"tepdoc1 = "模板1.docx"tepdoc2 = "模板2.docx"With Wordapp  '这里需要是application.Visible = Falser1 = TextBox1r2 = TextBox2For n2 = r1 To r2'第一个“模板1”,将模板复制并重命名Newname = "说明-" & Sheets(tbldata).Range("D" & n2) & "_" & _Sheets(tbldata).Range("B" & n2) & ".docx"FileCopy mypath & tepdoc1, mypath & Newname.Documents.Open mypath & Newname, Visible = False '打开我们复制的新文件进行更改'替换各个变量For j = 1 To UBound(aar1, 1).Selection.Find.ClearFormatting.Selection.Find.Replacement.ClearFormattingIf j < 16 Then'第i行的数据strn = Sheets(tbldata).Cells(n2, aar1(j, 2))Elsestrn = Sheets(tbldata).Range(aar1(j, 2))End IfWith .Selection.Find.Text = "(" & aar1(j, 1) & ")".Replacement.Text = strn.Forward = True.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = FalseEnd With.Selection.Find.Execute Replace:=wdReplaceAllNext j.Documents.Save'第二个“模板2”Newname = "报告-" & Sheets(tbldata).Range("D" & n2) & "_" & _Sheets(tbldata).Range("B" & n2) & ".docx"FileCopy mypath & tepdoc2, mypath & Newname.Documents.Open mypath & Newname, Visible = False'替换各个变量For j = 1 To UBound(aar1, 1).Selection.Find.ClearFormatting.Selection.Find.Replacement.ClearFormattingIf j < 16 Then'第i行的数据strn = Sheets(tbldata).Cells(n2, aar1(j, 2))Elsestrn = Sheets(tbldata).Range(aar1(j, 2))End IfWith .Selection.Find.Text = "(" & aar1(j, 1) & ")".Replacement.Text = strn.Forward = True.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = FalseEnd With.Selection.Find.Execute Replace:=wdReplaceAllNext j' .Documents.Save.Documents(Newname).Close savechanges:=wdSaveChangesNext n2End WithWordapp.QuitMsgBox "输出完成,请到" & mypathN & "下查找", vbOKOnly, "提示"End Sub

Excel表格数据填充到word模板中相关推荐

  1. java word模版填充_Java 数据填充到word模板中

    maven引用 com.deepoove poi-tl 1.6.0-beta1 javax javaee-api 7.0 org.apache.poi poi-ooxml 4.1.2 org.apac ...

  2. 将Excel表格数据写入到word的指定位置

    将Excel表格数据转为word的指定位置 想要的结果是excel的一行数据,转换为一个word,并且更改为指定的位置. 首先使用的excel和word 是xlsx和docx格式的哦,其他格式的请自行 ...

  3. 如何在Python中将数据插入到Word模板中生成一份Word文档

    在一些的项目开发中,会有一些生成Word文件的操作,比如将获取到的一些数据添加到Word模板当中的相应的位置生成一份Word文档. 由于最近的Python项目当中需要将一些从服务器查出的数据添加到Wo ...

  4. html excel导出的路径,html 导出多个excel表格数据-如何将html页面中的表格导出到excel表格...

    怎样将html表格导出到excel中啊?我用的是asp.net. stringbuilder拼接的也就是说,是用字符组成的表格,这并不是意义上的表格. 要实现导出EXCEL的较麻烦,给你讲一下解题思路 ...

  5. 超简单,一行代码解决:如何快速将Excel表格数据,映射到Java中的ListVO对象,然后转存数据库,生成SQL脚本

    前言-真的很快速,之前用的是Apache下的Jar包,用起来太麻烦了 <dependency><groupId>org.apache.poi</groupId>&l ...

  6. Java导出数据到Word模板中

    Java导出数据到Word模板. 前言 网上的方案 需求介绍 模板 简介 使用体验 poi-tl Freemarker 操作步骤 总结 前言 相信很多人都会遇到Java导出的业务,Java导出主要有导 ...

  7. 将包含经纬度点位信息的Excel表格数据导入到ArcMap中并输出成shapefile

    将包含经纬信息的Excel表格数据,导入到ArcMap中并输出成shapefile,再进行后面的操作.使用这种方法可以将每一个包含经纬信息的数据在ArcMap中点出来. 一.准备数据 新建Excel表 ...

  8. python导入excel表格-Python 将Excel表格数据导入MySQL数据库

    今天分享一个刚刚完成的Python脚本,一个实用的小技能,就是利用Python代码,将EXCEL表格数据导入到MySQL数据库中!话不多说,下面代码示例. Excel表格数据.jpg 1示例代码: i ...

  9. python 读取excel表格数据,然后写入word模板,批量生成

    Python 读取excel及批量生成word模板 问题-来源 前几天,我姐遇见了一个难题:需要从excel表格中不断复制数据到word模板中,相当繁琐,询问我有没有解决的办法.于是我百度了一下,借鉴 ...

  10. java 操作 word 表格和样式,java读取word表格中的表格 java如何读取word中的excel表格数据...

    Java 利用poi 可以直接读取word中的表格保持样式生1.读取word 2003及word 2007需要的jar包 读取 2003 版本(.doc)的word文件相对来说比较简单,只需要 poi ...

最新文章

  1. [05]EXTJS4.0的读写器reader,writer
  2. VC++实现QPSK调制
  3. LeetCode刷题: 整数反转
  4. 改变UITextField placeHolder颜色、字体
  5. oracle 截取字指定的字符串
  6. 我的ELK搭建笔记(阿里云上部署)
  7. Django 模板标签[转]
  8. 【转】如何学会独立思考?
  9. [源码剖析]tinyhttpd-C语言实现最简单的HTTP服务器
  10. 服务器未能识别 HTTP 标头 SOAPAction 的值
  11. 什么是低代码(LowCode)/无代码(NoCode)平台?
  12. 员工符合签订无固定期限劳动合同的条件,这种情况单位有权不予续签吗?
  13. 如何从Word,Excel和PowerPoint文档中提取图像,文本和嵌入式文件
  14. ssl证书生成 详细流程
  15. C#开发:不规则裁切图片
  16. e.target.dataset和e.currentTarget.dataset
  17. 聚光灯效果(css+html)
  18. C语言经典例题-将输入的两位数转成英文
  19. 微分算法 非侵入式负荷识别_非侵入式负荷监测的识别方法和关键技术
  20. 单位换算 M、Mb、MB

热门文章

  1. android绘制正态分布曲线,Excel表格中如何制作正态分布图和正态曲线模板
  2. jQuery Word Export: missing dependency (FileSaver.js)
  3. 计算机怎么查文件打印记录表,打印机历史记录
  4. 抖音作品如何上热门推荐?最新抖音如何上热门攻略技巧。
  5. Html中的favicon ico
  6. Matlab UIAxes中添加图例
  7. 线性布局和表格布局的嵌套使用
  8. cmd打开计算机窗口,如何打开命令行窗口,详细教您电脑怎么打开cmd命令行窗口...
  9. 模电_热敏PTC电阻_NTC电阻-区别与作用-20190507
  10. 苹果笔记本怎么找文件夹_教你如何在苹果电脑上查看隐藏文件夹