zoukankan      html  css  js  c++  java
  • 利用excel生成word,批量插入图片、题注、标题等格式

    此文转载自:https://blog.csdn.net/maoersong/article/details/112259199#commentBox

    对于word中需要插入大量类型相似的图片,使用excel插入图片、标题、题注等内容是非常方便的,先使用excel编辑好各个图片对应的标题、题注。

    excel中工作表第一列为图片的标题,第二列为图片路径。如下图所示:
    在这里插入图片描述
    使用alt+F11快速进入宏(VBA)编辑框,VBA代码如下,主要修改循环的行数(For r = 2 To 4)、保存word的位置信息、excel工作表的名称(例如,这里的名称为报表):

    Sub 生成word()
        Dim wordApp As Word.Application
        Application.StatusBar = "正在创建。。。"
        Set wordApp = New Word.Application
        
        With wordApp
            .Visible = False
            Application.StatusBar = "正在创建word"
            .Documents.Add
            For Each sh In ActiveWorkbook.Sheets
            If sh.Name = "报表" Then '此处可根据需要自行设置或者删除改语句
                For r = 2 To 4
                    figtitle = sh.Cells(r, 1).Value
                    figpath = sh.Cells(r, 2).Value
                    .Selection.TypeText Text:=figtitle
                    '此处"标题 3"为3级标题格式,可根据自己的word实际情况进行修改
                    .Selection.Style = .ActiveDocument.Styles("标题 3")
                    '添加新的段落
                    .Selection.TypeParagraph
                   '根据路径插入图片
                    .Selection.InlineShapes.AddPicture Filename:=figpath, LinkToFile:=False, SaveWithDocument:=True
                    '添加新的段落
                    .Selection.TypeParagraph
                             
                '            .LockAspectRatio = msoFalse '取消图片大小纵横比的锁定
                '
                '            .Height = 285  '设置图片高度为 400px
                '            .Width = 374 '设置图片宽度 300px
      
                Next
            End If
            Next
            Application.StatusBar = "正在保存"
            '生成word的保存路径,可根据实际情况修改
            .ActiveDocument.SaveAs2 ("F:图片.docx")
            Application.StatusBar = "正在退出"
            .Quit
        End With
        Set wordApp = Nothing
        Application.StatusBar = False
    End Sub
    

    遇到的错误:
    1 用户定义类型未定义(定位错误在Dim wordApp As Word.Application),原因在于代码中引用相关控件的方法有问题。对此我们首先需要加入对控制的支持库,然后方可在编辑中引用对应控件。
    引用对应支持库的方法:在VBA环境下,点击“工具"->”引用 “项。如果“引用”为灰色不可选状态,则点击停止运行程序按钮即可恢复。
    在这里插入图片描述
    然后在打开的”引用“窗口中,勾选相应的项,点击”确定“即可完成支持库的导入操作。
    这里Microsoft Word 16.0 Object Library的默认路径不对,需要根据实际位置进行修改,点击浏览按钮选择相应的文件即可,我的路径为“D:Program FilesMicrosoft OfficeOffice16MSWORD.OLB”
    在这里插入图片描述
    批量插入题注等信息参考:
    批量导入图片到word并添加文件名
    利用excel生成word并在其中批量插入图片和题注、文字描述等内容

       

    更多内容详见微信公众号:Python测试和开发

    Python测试和开发

  • 相关阅读:
    django 项目需要注意的一些点
    VUE之路
    Oracle 表格碎片的查看方法
    RHEL 6.x or 7.x 使用分区绑定ASM 磁盘的方法
    RMAN 修复主库 nologging 操作导致物理备库的坏块
    Oracle 数据库19c 回退降级到 11.2.0.4 方案
    如何评估oracle 数据库rman全备和增量备份大小
    在将Oracle GI和DB升级到19c或降级到以前的版本之前需要应用的补丁 (Doc ID 2668071.1)
    Oracle 数据库坏块处理
    opatch auto 安装11.2.0.4.20190115 PSU遇到 OUI-67133: Execution of PRE script failed,with returen value 1 报错
  • 原文地址:https://www.cnblogs.com/phyger/p/14247528.html
Copyright © 2011-2022 走看看