Excel表格数据填充到word模板中
这个需求源于要批量生成模板一样的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模板中相关推荐
- 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 ...
- 将Excel表格数据写入到word的指定位置
将Excel表格数据转为word的指定位置 想要的结果是excel的一行数据,转换为一个word,并且更改为指定的位置. 首先使用的excel和word 是xlsx和docx格式的哦,其他格式的请自行 ...
- 如何在Python中将数据插入到Word模板中生成一份Word文档
在一些的项目开发中,会有一些生成Word文件的操作,比如将获取到的一些数据添加到Word模板当中的相应的位置生成一份Word文档. 由于最近的Python项目当中需要将一些从服务器查出的数据添加到Wo ...
- html excel导出的路径,html 导出多个excel表格数据-如何将html页面中的表格导出到excel表格...
怎样将html表格导出到excel中啊?我用的是asp.net. stringbuilder拼接的也就是说,是用字符组成的表格,这并不是意义上的表格. 要实现导出EXCEL的较麻烦,给你讲一下解题思路 ...
- 超简单,一行代码解决:如何快速将Excel表格数据,映射到Java中的ListVO对象,然后转存数据库,生成SQL脚本
前言-真的很快速,之前用的是Apache下的Jar包,用起来太麻烦了 <dependency><groupId>org.apache.poi</groupId>&l ...
- Java导出数据到Word模板中
Java导出数据到Word模板. 前言 网上的方案 需求介绍 模板 简介 使用体验 poi-tl Freemarker 操作步骤 总结 前言 相信很多人都会遇到Java导出的业务,Java导出主要有导 ...
- 将包含经纬度点位信息的Excel表格数据导入到ArcMap中并输出成shapefile
将包含经纬信息的Excel表格数据,导入到ArcMap中并输出成shapefile,再进行后面的操作.使用这种方法可以将每一个包含经纬信息的数据在ArcMap中点出来. 一.准备数据 新建Excel表 ...
- python导入excel表格-Python 将Excel表格数据导入MySQL数据库
今天分享一个刚刚完成的Python脚本,一个实用的小技能,就是利用Python代码,将EXCEL表格数据导入到MySQL数据库中!话不多说,下面代码示例. Excel表格数据.jpg 1示例代码: i ...
- python 读取excel表格数据,然后写入word模板,批量生成
Python 读取excel及批量生成word模板 问题-来源 前几天,我姐遇见了一个难题:需要从excel表格中不断复制数据到word模板中,相当繁琐,询问我有没有解决的办法.于是我百度了一下,借鉴 ...
- java 操作 word 表格和样式,java读取word表格中的表格 java如何读取word中的excel表格数据...
Java 利用poi 可以直接读取word中的表格保持样式生1.读取word 2003及word 2007需要的jar包 读取 2003 版本(.doc)的word文件相对来说比较简单,只需要 poi ...
最新文章
- [05]EXTJS4.0的读写器reader,writer
- VC++实现QPSK调制
- LeetCode刷题: 整数反转
- 改变UITextField placeHolder颜色、字体
- oracle 截取字指定的字符串
- 我的ELK搭建笔记(阿里云上部署)
- Django 模板标签[转]
- 【转】如何学会独立思考?
- [源码剖析]tinyhttpd-C语言实现最简单的HTTP服务器
- 服务器未能识别 HTTP 标头 SOAPAction 的值
- 什么是低代码(LowCode)/无代码(NoCode)平台?
- 员工符合签订无固定期限劳动合同的条件,这种情况单位有权不予续签吗?
- 如何从Word,Excel和PowerPoint文档中提取图像,文本和嵌入式文件
- ssl证书生成 详细流程
- C#开发:不规则裁切图片
- e.target.dataset和e.currentTarget.dataset
- 聚光灯效果(css+html)
- C语言经典例题-将输入的两位数转成英文
- 微分算法 非侵入式负荷识别_非侵入式负荷监测的识别方法和关键技术
- 单位换算 M、Mb、MB
热门文章
- android绘制正态分布曲线,Excel表格中如何制作正态分布图和正态曲线模板
- jQuery Word Export: missing dependency (FileSaver.js)
- 计算机怎么查文件打印记录表,打印机历史记录
- 抖音作品如何上热门推荐?最新抖音如何上热门攻略技巧。
- Html中的favicon ico
- Matlab UIAxes中添加图例
- 线性布局和表格布局的嵌套使用
- cmd打开计算机窗口,如何打开命令行窗口,详细教您电脑怎么打开cmd命令行窗口...
- 模电_热敏PTC电阻_NTC电阻-区别与作用-20190507
- 苹果笔记本怎么找文件夹_教你如何在苹果电脑上查看隐藏文件夹