对于word中需要插入大量类型相似的图片,使用excel插入图片、题注、文字描述等内容是非常方便的,先使用excel编辑好各个图片对应的题注、描述内容,通过excel也可以很快的调整这些内容,比如统一修改题注、调整顺序,排序等操作。统一批量生成于word中后,再复制粘贴到所需文档的对应地方就可以了。

过程:遍历每个工作表(sheet),根据工作表的名字生成一级标题,然后再遍历当前工作表中已配置好的内容,先插入图片,在图片下面插入题注,换行再插入文字描述(可以插入大段的内容,也可为空)。可在多个工作表中设置下面内容,便于分类处理。

excel中工作表第一列为图片的题注(可根据图片名字批量处理得来),第二列为图片路径(遍历每个文件下的路径自行百度),第三列为图片的描述内容。

需要说明的是,题注的格式需要预先使用word编辑好(比如题注的名字为“图”,VBA引用中也要为“图”)。word的一级标题格式名字、生成word的路径需要根据实际情况修改。

下面是excel中的格式,直接在上面添加宏命令然后执行就行了。

下面是代码

Sub 生成word()Dim wordApp As Word.ApplicationApplication.StatusBar = "正在创建。。。"Set wordApp = New Word.ApplicationWith wordApp.Visible = FalseApplication.StatusBar = "正在创建word".Documents.AddFor Each sh In ActiveWorkbook.SheetsIf sh.Name <> "文件信息清单" Then '此处可根据需要自行设置或者删除改语句.Selection.TypeText Text:=sh.Name'此处"标题 1"为一级标题格式,可根据自己的word实际情况进行修改.Selection.Style = .ActiveDocument.Styles("标题 1").Selection.TypeParagraphFor r = 2 To sh.UsedRange.Rows.Countfigtitle = sh.Cells(r, 1).Valuefigpath = sh.Cells(r, 2).Valueremark = sh.Cells(r, 3).Value'根据路径插入图片                                .Selection.InlineShapes.AddPicture Filename:=figpath, LinkToFile:=False, SaveWithDocument:=True.Selection.MoveLeft'.Selection.ParagraphFormat.IndentFirstLineCharWidth 0.Selection.MoveDown unit:=wdParagraph, Extend:=wdExtend'插入题注.Selection.InsertCaption Label:="图", TitleAutoText:="", Title:=figtitle, Position:=wdCaptionPositionAbove, ExcludeLabel:=False '插入题注'            .LockAspectRatio = msoFalse '取消图片大小纵横比的锁定''            .Height = 285  '设置图片高度为 400px'            .Width = 374 '设置图片宽度 300px'.Selection.Range.Previous(unit:=wdParagraph).Font.Name = "宋体" '更改字体.Selection.Range.Previous(unit:=wdParagraph).Font.Size = 12 '更改字号.Selection.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter'.Selection.TypeParagraph.Selection.EndKey unit:=wdStory.Selection.TypeParagraph'插入文字描述If remark <> "" Then.Selection.TypeText Text:=remark.Selection.Style = .ActiveDocument.Styles("正文")'.Selection.ParagraphFormat.CharacterUnitFirstLineIndent = 2End IfNextEnd IfNext'.ActiveDocument.Paragraphs(1).Range.InsertBefore ("邀请函")Application.StatusBar = "正在保存"'生成word的保存路径,可根据实际情况修改.ActiveDocument.SaveAs2 ("E:\地名数据处理\文档\题注图片.docx")Application.StatusBar = "正在退出".QuitEnd WithSet wordApp = NothingApplication.StatusBar = False
End Sub

利用excel生成word并在其中批量插入图片和题注、文字描述等内容相关推荐

  1. 用freemarker生成word文档,并插入图片

    用freemarker生成word文档,并插入图片 最近需要做一个问卷功能,要求用户填写完问卷后,后台会生成一个word文档,将用户提交的数据插入到word中. 创建word模板 新建一个word文档 ...

  2. 使用poi根据模版生成word文档,支持插入图片,复制表格,插入、循环插入数据,继承模板大部分格式及样式(优化版)

    一.制作word模版,${xxxx}是一会要替换的内容,最下面的表格是要插入数据,根据是否以$开头来判断是需要替换还是插入数据, 注意如果是需要循环插入数据,制作的表格模版需要一行全部输入井号#,格式 ...

  3. word中使用宏批量插入图片

    Sub loadpic() ' ' loadpic Macro ' 宏在 2010-6-21 由 Smile Xu 创建 ' Dim picOpenDialog As FileDialog, file ...

  4. word 标题自动编号、按章节给图片设置题注、给图片添加对应的文字交叉引用

    论文标题自动编号.按章节给图片设置题注.给图片添加对应的文字交叉引用 1.准备环节及工作环境 2.多级列表 2.1 定义新的多级列表 2.2 修改标题格式 3.按章节给图片编号 3.1 插入题注 3. ...

  5. python办公自动化之批量生成docx——根据excel生成word、根据word生成excel

    python办公自动化之批量生成docx--根据excel生成word 系列文章 本文目录 一.从excel读取 二.写入docx 三.批量生成docx 四.反向操作,根据word生成excel 系列 ...

  6. 无插件,无com组件,利用EXCEL、WORD模板做数据导出(一)

    本次随笔主要讲述着工作中是如何解决数据导出的,对于数据导出到excel在日常工作中大家还是比较常用的,那导出到word呢,改如何处理呢,简单的页面导出问题应该不大,但是如果是标准的公文导出呢,要保证其 ...

  7. matlab 生成 word 表格,利用MATLAB生成Word文档.doc

    利用MATLAB生成Word文档 function ceshi_Word %利用MATLAB生成Word文档 % ceshi_Word % % Copyright 2009 - 2010 xiezhh ...

  8. php实现生成word表格,TP5利用phpforword生成word表格文档

    TP5利用phpforword生成word表格文档 2019-12-18 573 1.首先用composer安装下载 phpoffice/phpforwordcomposer require phpo ...

  9. Java利用poi生成word(包含插入图片,动态表格,行合并)

    Java利用poi生成word(包含插入图片,动态表格,行合并) 测试模板样式: 图表 1 Word生成结果: 图表 2 需要的jar包:(具体jar可自行去maven下载) Test测试类: imp ...

  10. 工作小技巧—在word中使用邮件批量插入excel中的数据

    工作小技巧-在word中使用邮件批量插入excel中的数据 word中使用邮件批量插入excel中的数据 1.选择数据源 2.插入数据 3.完成合并 word中使用邮件批量插入excel中的数据 1. ...

最新文章

  1. 【Network Security!】xrdp+vnc4server+xfce4远程管理Ubuntu服务器桌面
  2. 【Storm篇】--Storm基础概念
  3. shell脚本复制文件夹内容到另外的文件夹,如果存在则自动备份
  4. 散列(hash)练习题
  5. 【最小割】HDU 3987 Harry Potter and the Forbidden Forest
  6. Android LocalBroadcastManager 的使用总结
  7. spring事务环境搭建
  8. Codeforces 914D - Bash and a Tough Math Puzzle 线段树,区间GCD
  9. [php入门] 3、WAMP中的集成MySQL相关基础操作
  10. php删除数组中的空元素_PHP | 从数组中删除所有出现的元素
  11. 自定义 Javascript 模板规则,打造轻量级模板引擎
  12. thinkjs使用sqlite
  13. git 学习1--查看全局配置
  14. linux中引入python的tkinter模块
  15. sql日期大于某天_(十五)sql/Linux 小技巧
  16. 【总结】大端、小端存储模式的那点事
  17. 【OpenCV入门指南】第十一篇 鼠标绘图
  18. Failed to start The nginx HTTP and reverse proxy server.
  19. 14款S400升级20款S450外观套件
  20. Weakly Guiding Fibers(弱导光纤)

热门文章

  1. vue项目引用美图秀秀图片编辑器
  2. 连锁机构3D指纹考勤系统解决方案
  3. 2年修完6个清华CS硕士学位第3周反思报告
  4. 别人是怎么将图片贴在屏幕上的?
  5. 多x多y的origin图_素雅、便携、多场景,松下纳诺怡X黑科技除菌净味产品使用简评...
  6. python实现误差逆传播算法
  7. IMU与GPS传感器ESKF融合定位(转载)
  8. 如何修改网络连接的网络位置
  9. php清除手机浏览器缓存,js清除浏览器缓存的几种方法
  10. 小组取什么名字好_如何给公司取一个好名字?让你的公司脱颖而出