利用excel生成word并在其中批量插入图片和题注、文字描述等内容
对于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并在其中批量插入图片和题注、文字描述等内容相关推荐
- 用freemarker生成word文档,并插入图片
用freemarker生成word文档,并插入图片 最近需要做一个问卷功能,要求用户填写完问卷后,后台会生成一个word文档,将用户提交的数据插入到word中. 创建word模板 新建一个word文档 ...
- 使用poi根据模版生成word文档,支持插入图片,复制表格,插入、循环插入数据,继承模板大部分格式及样式(优化版)
一.制作word模版,${xxxx}是一会要替换的内容,最下面的表格是要插入数据,根据是否以$开头来判断是需要替换还是插入数据, 注意如果是需要循环插入数据,制作的表格模版需要一行全部输入井号#,格式 ...
- word中使用宏批量插入图片
Sub loadpic() ' ' loadpic Macro ' 宏在 2010-6-21 由 Smile Xu 创建 ' Dim picOpenDialog As FileDialog, file ...
- word 标题自动编号、按章节给图片设置题注、给图片添加对应的文字交叉引用
论文标题自动编号.按章节给图片设置题注.给图片添加对应的文字交叉引用 1.准备环节及工作环境 2.多级列表 2.1 定义新的多级列表 2.2 修改标题格式 3.按章节给图片编号 3.1 插入题注 3. ...
- python办公自动化之批量生成docx——根据excel生成word、根据word生成excel
python办公自动化之批量生成docx--根据excel生成word 系列文章 本文目录 一.从excel读取 二.写入docx 三.批量生成docx 四.反向操作,根据word生成excel 系列 ...
- 无插件,无com组件,利用EXCEL、WORD模板做数据导出(一)
本次随笔主要讲述着工作中是如何解决数据导出的,对于数据导出到excel在日常工作中大家还是比较常用的,那导出到word呢,改如何处理呢,简单的页面导出问题应该不大,但是如果是标准的公文导出呢,要保证其 ...
- matlab 生成 word 表格,利用MATLAB生成Word文档.doc
利用MATLAB生成Word文档 function ceshi_Word %利用MATLAB生成Word文档 % ceshi_Word % % Copyright 2009 - 2010 xiezhh ...
- php实现生成word表格,TP5利用phpforword生成word表格文档
TP5利用phpforword生成word表格文档 2019-12-18 573 1.首先用composer安装下载 phpoffice/phpforwordcomposer require phpo ...
- Java利用poi生成word(包含插入图片,动态表格,行合并)
Java利用poi生成word(包含插入图片,动态表格,行合并) 测试模板样式: 图表 1 Word生成结果: 图表 2 需要的jar包:(具体jar可自行去maven下载) Test测试类: imp ...
- 工作小技巧—在word中使用邮件批量插入excel中的数据
工作小技巧-在word中使用邮件批量插入excel中的数据 word中使用邮件批量插入excel中的数据 1.选择数据源 2.插入数据 3.完成合并 word中使用邮件批量插入excel中的数据 1. ...
最新文章
- 【Network Security!】xrdp+vnc4server+xfce4远程管理Ubuntu服务器桌面
- 【Storm篇】--Storm基础概念
- shell脚本复制文件夹内容到另外的文件夹,如果存在则自动备份
- 散列(hash)练习题
- 【最小割】HDU 3987 Harry Potter and the Forbidden Forest
- Android LocalBroadcastManager 的使用总结
- spring事务环境搭建
- Codeforces 914D - Bash and a Tough Math Puzzle 线段树,区间GCD
- [php入门] 3、WAMP中的集成MySQL相关基础操作
- php删除数组中的空元素_PHP | 从数组中删除所有出现的元素
- 自定义 Javascript 模板规则,打造轻量级模板引擎
- thinkjs使用sqlite
- git 学习1--查看全局配置
- linux中引入python的tkinter模块
- sql日期大于某天_(十五)sql/Linux 小技巧
- 【总结】大端、小端存储模式的那点事
- 【OpenCV入门指南】第十一篇 鼠标绘图
- Failed to start The nginx HTTP and reverse proxy server.
- 14款S400升级20款S450外观套件
- Weakly Guiding Fibers(弱导光纤)