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

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

    对于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-ForeignKey,OneToOneField,ManyToManyField
    django-HttpResponse,render,redirect
    django-常见问题勘误
    django-个人网站之环境配置(一)
    django-表单之数据保存(七)
    django-表单之模型表单渲染(六)
    django-表单之手动渲染(五)
    Linux内核中_IO,_IOR,_IOW,_IOWR宏的用法与解析
    流媒体传输协议详解之---RTSP认证
    在YUV图像上根据背景色实现OSD反色
  • 原文地址:https://www.cnblogs.com/phyger/p/14247203.html
Copyright © 2011-2022 走看看