使用VBA通过Excel生产Word报告
1.添加按钮,在按钮上关联宏
2.在宏的工具栏选引用,选择浏览找到“C:\Program Files\Microsoft Office\root\Office16”路径中找到“”MSWORD.OLB“重新加载,并且在对象浏览器中出现”Word“字样即可
3.运行即可
注意:每次运行程序以后会弹出一个小框,需要点击’打开只读副本’以后才会继续生成word文件, 这种情况需要复制一个新的模板word文件,使用新的文件生成报告才不会有提示了
参考了这个文章
https://zhuanlan.zhihu.com/p/76755973
以下是全部代码
Private Sub CommandButton1_Click()
Sheet1.CommandButton1.Caption = "生成报告"
On Error GoTo Err_cmdExportToWord_ClickDim objApp As Object 'Word.ApplicationDim objDoc As Object 'Word.DocumentDim strTemplates As String '模板文件路径名Dim strFileName As String '将数据导出到此文件Dim i As IntegerDim field1 As StringDim field2 As StringDim field3 As StringDim data_areas As RangeDim total_data As IntegerSet data_areas = Application.InputBox(prompt:="请鼠标选择需要输出数据的区域", Title:="选择", Type:=8) '选取输出的数据区域i = data_areas.Row '获取选取区域开始行所在行号j = data_areas.Rows.Count ' 获取选取区域总行数MsgBox "请选择模板文件"With Application.FileDialog(msoFileDialogFilePicker) '选择模板文件.Filters.Add "word文件", "*.doc*", 1.AllowMultiSelect = FalseIf .Show Then strTemplates = .SelectedItems(1) Else Exit SubEnd WithMsgBox "请选择生成文件的保存路径"With Application.FileDialog(msoFileDialogFolderPicker) '获取输出的文件存储路径If .Show = False Then Exit SubPath = .SelectedItems(1)End WithSet objApp = CreateObject("Word.Application")objApp.Visible = FalseFor k = i To i + j - 1field1 = Cells(k, 1) '第k行的第1列field2 = Cells(k, 2) '第k行的第2列field3 = Cells(k, 3) '第k行的第3列Set objDoc = objApp.Documents.Open(strTemplates, , False)strFileName = field1 & ".doc"'文件名必须包括“.doc”的文件扩展名,如没有则自动加上If Not strFileName Like "*.doc" Then strFileName = strFileName & ".doc"'如果文件已存在,则删除已有文件If Dir(strFileName) <> "" Then Kill strFileName'打开模板文件'开始替换模板预置变量文本With objApp.Application.Selection.Find.ClearFormatting.Find.Replacement.ClearFormatting'替换第1个字段With .Find.Text = "{$客户}".Replacement.Text = field1End With.Find.Execute Replace:=wdReplaceAll'替换第2个字段With .Find.Text = "{$性别}".Replacement.Text = field2End With.Find.Execute Replace:=wdReplaceAll'替换第3个字段With .Find.Text = "{$收益金额}".Replacement.Text = field3End With.Find.Execute Replace:=wdReplaceAllEnd With'将写入数据的模板另存为文档文件objDoc.SaveAs Path & "\" & strFileNameobjDoc.Saved = TrueobjDoc.CloseNext kMsgBox "合同文本生成完毕!", vbYes + vbExclamation
Exit_cmdExportToWord_Click:Set objApp = NothingSet objDoc = NothingSet objTable = NothingExit Sub
Err_cmdExportToWord_Click:MsgBox Err.Description, vbCritical, "出错"Resume Exit_cmdExportToWord_Click
End Sub
使用VBA通过Excel生产Word报告相关推荐
- vba中excel和word复制粘贴
先上代码: Application.ScreenUpdating = False '关闭屏幕刷新' Dim oprate_times As Integer Worksh ...
- Excel生成Word文档
Excel 生成word报告 查了很多资料,看看能否使用. Option ExplicitSub CreateBasicwordreport()Dim wdApp as objectdim saveN ...
- vba根据内容调整word表格_分析报告自动化——Excel与Word数据互通
写在前面:本次分享出的内容,您真的非常值得研究. 对于将Excel里面的内容传送至Word的办法,大部分可能都知道用"邮件" 的合并功能.实际上,办法不止这么一个,其实,还有好几种 ...
- Excel的简单Word报告批量生成 vba笔记 (一)
批量生成Excel的简单Word报告/vba/录制宏 Sub piliangshengcheng() Set dd = CreateObject("excel.application&quo ...
- 如何实现excel的内容转成word报告模式
在我们日常工作中,通常我们使用excel进行数据的处理,然后使用word形成最终的结果报告.这种情况其实在检测行业很普遍,尽管有系统,但总是会存在小部分手写数据单,这种情况下如果能通过电子数据单就可以 ...
- word排版案例报告_原来按下这个键,10秒EXCEL与Word格式就能互相转换,涨知识了...
我想用word写文章写报告的时候,都是离不开数据的吧,但是呢每次在Excel里做的表格图标复制粘贴过去的时候回,格式就会变得乱七八糟的,很少让人头疼,那么我们该如何解决这个问题呢?下面一起跟小编来看看 ...
- python将Excel数据自动生成Word报告【Pyhon-docx\openpyxl】
我写在了知乎,图片没有搬运过来.链接:https://zhuanlan.zhihu.com/p/371767402 需求:日常工作中,需要对Excel表格的数据进行筛选计算整理,然后将数据做成Word ...
- VSTO:使用C#开发Excel、Word【5】
<Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath >--By Eric C ...
- vba根据内容调整word表格_【邮件合并】不会VBA也能批量生成Word封面
一.『问题引入』: 手里有一个这样的Excel表格,还有一个Word文档模板.我们要把这个Excel表格中的信息依次写到Word模板.一行Excel信息生成一页文档. 存储信息的Excel表格 需要填 ...
- python批量生成word报告_python自动生成word报告 | 如何将现有的数据利用python 填入word的表格中?...
关于python连接SQL server数据库的问题? 你把完整的连接代码贴一下 如何将现有的数据利用python 填入word的表格中? VB,VBA我会,py不会哦 DB2教程推荐,新手想学习这个 ...
最新文章
- OSI参考模型——网络层的主要功能
- 那些年,我们踩过的 Java 坑
- Linux学习笔记---移植官方uboot步骤(一)
- 盾神与砝码称重java_[蓝桥杯][算法提高VIP]盾神与砝码称重-题解(Java代码)
- 300 秒搞定第一超算 1 万年的计算量,量子霸权时代已来? | CSDN 博文精选
- JSP九大内置对象的分析,对应SERVLET中如何获取、使用
- 【转】iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
- 贾跃亭个人破产内幕曝光 差一点获得中东土豪投资
- 联合查询(多表查询)
- 电商数据分析与数据化运营
- 瑞利分布的平方是什么分布
- JAVA8实战 -- Lamdba表达式
- [数学基础知识] Cramér‘s V 相关系数和Python算法实现
- 【Fusion】Conic Modeling
- Win10系统QQ无法登陆,代码00001
- CentOS 7 安装 libtool 2.4.6
- 淘宝/天猫API:seller_info-获得淘宝店铺详情
- 维天运通通过港交所上市聆讯:线上GTV减少14亿元,毛利率两连降
- 服务器网站显示1004报错,失败:错误域= NSURLErrorDomain代码= -1004“无法连接到服务器。”...
- 一体式城市内涝监测站
热门文章
- c语言差分qpsk编码信道估计 pudn,基于DSP的电力线载波OFDM调制解调器设计.doc
- 【sketchup 2021】草图大师的辅助建模工具1【量角器与文字、尺寸标注与三维字、实体工具】
- 如何提高Solidworks运行速度
- 计算机应用1.2版,计算机应用基础(附光盘基础模块Windows7+Office2010第2版中等职业教育课程改革国家规划新教材)...
- 6个月内进轨,目标火星!马斯克刚刚发布最强“理想飞船”,称已达人类物理极限
- playwright之贴吧签到
- 视频教程-2021软考网络工程师 案例分析视频教程-软考
- 网页对联广告代码效果大全
- Android原生开发如何深入进阶?完整版开放下载
- 下载 SharePoint Server 2016