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报告相关推荐

  1. vba中excel和word复制粘贴

    先上代码: Application.ScreenUpdating = False '关闭屏幕刷新'         Dim oprate_times As Integer         Worksh ...

  2. Excel生成Word文档

    Excel 生成word报告 查了很多资料,看看能否使用. Option ExplicitSub CreateBasicwordreport()Dim wdApp as objectdim saveN ...

  3. vba根据内容调整word表格_分析报告自动化——Excel与Word数据互通

    写在前面:本次分享出的内容,您真的非常值得研究. 对于将Excel里面的内容传送至Word的办法,大部分可能都知道用"邮件" 的合并功能.实际上,办法不止这么一个,其实,还有好几种 ...

  4. Excel的简单Word报告批量生成 vba笔记 (一)

    批量生成Excel的简单Word报告/vba/录制宏 Sub piliangshengcheng() Set dd = CreateObject("excel.application&quo ...

  5. 如何实现excel的内容转成word报告模式

    在我们日常工作中,通常我们使用excel进行数据的处理,然后使用word形成最终的结果报告.这种情况其实在检测行业很普遍,尽管有系统,但总是会存在小部分手写数据单,这种情况下如果能通过电子数据单就可以 ...

  6. word排版案例报告_原来按下这个键,10秒EXCEL与Word格式就能互相转换,涨知识了...

    我想用word写文章写报告的时候,都是离不开数据的吧,但是呢每次在Excel里做的表格图标复制粘贴过去的时候回,格式就会变得乱七八糟的,很少让人头疼,那么我们该如何解决这个问题呢?下面一起跟小编来看看 ...

  7. python将Excel数据自动生成Word报告【Pyhon-docx\openpyxl】

    我写在了知乎,图片没有搬运过来.链接:https://zhuanlan.zhihu.com/p/371767402 需求:日常工作中,需要对Excel表格的数据进行筛选计算整理,然后将数据做成Word ...

  8. VSTO:使用C#开发Excel、Word【5】

    <Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath >--By Eric C ...

  9. vba根据内容调整word表格_【邮件合并】不会VBA也能批量生成Word封面

    一.『问题引入』: 手里有一个这样的Excel表格,还有一个Word文档模板.我们要把这个Excel表格中的信息依次写到Word模板.一行Excel信息生成一页文档. 存储信息的Excel表格 需要填 ...

  10. python批量生成word报告_python自动生成word报告 | 如何将现有的数据利用python 填入word的表格中?...

    关于python连接SQL server数据库的问题? 你把完整的连接代码贴一下 如何将现有的数据利用python 填入word的表格中? VB,VBA我会,py不会哦 DB2教程推荐,新手想学习这个 ...

最新文章

  1. OSI参考模型——网络层的主要功能
  2. 那些年,我们踩过的 Java 坑
  3. Linux学习笔记---移植官方uboot步骤(一)
  4. 盾神与砝码称重java_[蓝桥杯][算法提高VIP]盾神与砝码称重-题解(Java代码)
  5. 300 秒搞定第一超算 1 万年的计算量,量子霸权时代已来? | CSDN 博文精选
  6. JSP九大内置对象的分析,对应SERVLET中如何获取、使用
  7. 【转】iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
  8. 贾跃亭个人破产内幕曝光 差一点获得中东土豪投资
  9. 联合查询(多表查询)
  10. 电商数据分析与数据化运营
  11. 瑞利分布的平方是什么分布
  12. JAVA8实战 -- Lamdba表达式
  13. [数学基础知识] Cramér‘s V 相关系数和Python算法实现
  14. 【Fusion】Conic Modeling
  15. Win10系统QQ无法登陆,代码00001
  16. CentOS 7 安装 libtool 2.4.6
  17. 淘宝/天猫API:seller_info-获得淘宝店铺详情
  18. 维天运通通过港交所上市聆讯:线上GTV减少14亿元,毛利率两连降
  19. 服务器网站显示1004报错,失败:错误域= NSURLErrorDomain代码= -1004“无法连接到服务器。”...
  20. 一体式城市内涝监测站

热门文章

  1. c语言差分qpsk编码信道估计 pudn,基于DSP的电力线载波OFDM调制解调器设计.doc
  2. 【sketchup 2021】草图大师的辅助建模工具1【量角器与文字、尺寸标注与三维字、实体工具】
  3. 如何提高Solidworks运行速度
  4. 计算机应用1.2版,计算机应用基础(附光盘基础模块Windows7+Office2010第2版中等职业教育课程改革国家规划新教材)...
  5. 6个月内进轨,目标火星!马斯克刚刚发布最强“理想飞船”,称已达人类物理极限
  6. playwright之贴吧签到
  7. 视频教程-2021软考网络工程师 案例分析视频教程-软考
  8. 网页对联广告代码效果大全
  9. Android原生开发如何深入进阶?完整版开放下载
  10. 下载 SharePoint Server 2016