Excel表格数据填充到word模板中

这篇具有很好参考价值的文章主要介绍了Excel表格数据填充到word模板中。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        这个需求源于要批量生成模板一样的word文档。当然可以直接使用word的邮件合并功能,点菜单就可以实现,示例代码如下:

       要使用这些代码,需要引用2个库microsoft word,microsoft office,如果使用到客体界面的话,还要引用microsoft Forms。本代码可以同时利用两个模板生成新的文档。其原理就是查找替换,没啥,减轻工作量。文章来源地址https://www.toymoban.com/news/detail-558555.html

Sub cmdPrinta_Click()
    
    Dim mypath$, mypathN$, aar1
    Dim r1%, r2%, n2%, j%
    
    Dim Wordapp As Word.Application
    Dim WordD As Word.Document      '定义word类
    Set Wordapp = New Word.Application  '这里需要一个新的
    
    'Wordapp.ScreenUpdating =False             '屏幕刷新
    'Set WordD = Wordapp.Documents.Add                  '新建文档
    If Len(txtlujing) > 1 Then
        mypathN = txtlujing
    Else
        mypathN = ThisWorkbook.Path & "\"
    End If
    mypath = ThisWorkbook.Path & "\"
    
    '初始化参数,要替换
    aar1 = Sheets("说明文字").Range("c5:d23")
    tbldata = "sheet1"
    tepdoc1 = "模板1.docx"
    tepdoc2 = "模板2.docx"


    With Wordapp  '这里需要是application
        .Visible = False
        r1 = TextBox1
        r2 = TextBox2
        For n2 = r1 To r2
            '第一个“模板1”,将模板复制并重命名
            Newname = "说明-" & Sheets(tbldata).Range("D" & n2) & "_" & _
                     Sheets(tbldata).Range("B" & n2) & ".docx"
            FileCopy mypath & tepdoc1, mypath & Newname
            .Documents.Open mypath & Newname, Visible = False '打开我们复制的新文件进行更改
            
            '替换各个变量
            For j = 1 To UBound(aar1, 1)
                .Selection.Find.ClearFormatting
                .Selection.Find.Replacement.ClearFormatting
                If j < 16 Then
                    '第i行的数据
                    strn = Sheets(tbldata).Cells(n2, aar1(j, 2))
                Else
                    strn = Sheets(tbldata).Range(aar1(j, 2))
                End If
                With .Selection.Find
                    .Text = "(" & aar1(j, 1) & ")"
                    .Replacement.Text = strn
                    .Forward = True
                    .Wrap = wdFindContinue
                    .Format = False
                    .MatchCase = False
                    .MatchWholeWord = False
                    .MatchByte = True
                    .MatchWildcards = False
                    .MatchSoundsLike = False
                    .MatchAllWordForms = False
                End With
                .Selection.Find.Execute Replace:=wdReplaceAll
            Next j
            .Documents.Save
            
            '第二个“模板2”
            Newname = "报告-" & Sheets(tbldata).Range("D" & n2) & "_" & _
                     Sheets(tbldata).Range("B" & n2) & ".docx"
            FileCopy mypath & tepdoc2, mypath & Newname
            .Documents.Open mypath & Newname, Visible = False
            
            '替换各个变量
            For j = 1 To UBound(aar1, 1)
                .Selection.Find.ClearFormatting
                .Selection.Find.Replacement.ClearFormatting
                If j < 16 Then
                    '第i行的数据
                    strn = Sheets(tbldata).Cells(n2, aar1(j, 2))
                Else
                    strn = Sheets(tbldata).Range(aar1(j, 2))
                End If
                With .Selection.Find
                    .Text = "(" & aar1(j, 1) & ")"
                    .Replacement.Text = strn
                    .Forward = True
                    .Wrap = wdFindContinue
                    .Format = False
                    .MatchCase = False
                    .MatchWholeWord = False
                    .MatchByte = True
                    .MatchWildcards = False
                    .MatchSoundsLike = False
                    .MatchAllWordForms = False
                End With
                .Selection.Find.Execute Replace:=wdReplaceAll
            Next j
           ' .Documents.Save
            .Documents(Newname).Close savechanges:=wdSaveChanges
            
        Next n2
    End With
    Wordapp.Quit
    MsgBox "输出完成,请到" & mypathN & "下查找", vbOKOnly, "提示"

End Sub

到了这里,关于Excel表格数据填充到word模板中的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Matlab:将数据写入 Excel 电子表格

    要将工作区中的表导出到 Microsoft® Excel® 电子表格文件中,请使用 writetable 函数。您可以将工作区中的数据导出到文件中的任何工作表,以及导出到该工作表中的任何位置。默认情况下,writetable 将表数据写入到文件中的第一张工作表,并从单元格 A1 处开始。 例如,创建一个

    2024年02月09日
    浏览(54)
  • Python和VBA批量提取Word中的表格

    表格在word文档中常见的文档元素之一。操作word文件时有时需要提取文件中多个表格的内容到一个新的文件,甚至有时还会要提取题注信息。 今天,给大家分享两种批量提取文档中表格的两种方法,分别是VBA法和Python法两种。 1. 代码实现 VBA(Visual Basic for Applications)操作Wo

    2024年02月19日
    浏览(61)
  • python利用docxtpl将excel数据写入word表格

    解决问题一:将excel数据读取,并将其保存在word中的表格 解决问题二:使用xlrd读入excel数据,如果是整数的话,打开word后发现保存变成了浮点数,后边多了“.0”。 问题一、 可以参考docxtpl快速上手使用,数据填入以及循环写入表格_sxuccs的博客-CSDN博客 docxtpl/python-docx_雪球干

    2024年02月12日
    浏览(42)
  • Excel·VBA表格横向、纵向相互转换

    如图:对图中区域 A1:M6 横向表格,转换成区域 A1:C20 纵向表格,即 B:M 列转换成每2列一组按行写入,并删除空行。同理,反向操作就是纵向表格转换成横向表格 实现方法1 对 本文图1 中,按“交期和交货数量”每5行2列为一组,依次按行写入,即按“交期”顺序排列 转换结果

    2024年02月14日
    浏览(48)
  • JAVA poi-tl 制作word模板 表格数据行循环 带有复选框勾选的表格

            java项目实际开发中经常会遇到制作word表单且表格数据行循环功能,甚至带有复选框勾选功能,本文简单介绍如何制作模板以及使用poi-tl生成word。 提示:以下是本篇文章正文内容,下面案例可供参考 如果只用到word那么需要导入的依赖如下(本案例只需要如下2个依

    2024年04月12日
    浏览(41)
  • 工具类——Java导出EXCEL2(设置样式、加载并填充图片、加载指定模板、大数据量设置窗口大小与刷新频率)

    书接上篇:工具类——Java 浏览器导入、导出Excel(Java import、export)demo POI的导出方式:创建/加载Workbook,设置样式,填充数据,然后生成本地临时文件,最终以浏览器的形式打开,完成整个导出动作。 demo如下, demo如下, XSSFClientAnchor anchor = new XSSFClientAnchor(int dx1, int dy1,

    2024年02月01日
    浏览(42)
  • python自动化办公——定制化读取Excel数据并写入到word表格

    最近到了毕业设计答辩的时候,老师让我帮毕业生写一段毕业设计的功能就是提供一个 学士学位授予申请表 ,根据定制化需求,编写定制化代码。 docx格式的word如下图。 再提供一个Excel表格,要求可以直接读取表格里的对应内容,填入到word表格里的对应位置。表格是我自己

    2024年02月10日
    浏览(59)
  • 【Java结合EasyExcel,模板文件填充并导出Excel】

    需求描述: 客户网页上填一个Excel表格,数据存到数据库,这个导出接口要做的就是从数据库中的获取数据并填充到模板文件,最后通过response返给前端一个下载链接,用户即可获取填充好的Excel文件。 方案一: 一开始使用的是easypoi,发现当填充一行数据时是OK的,但是如果

    2024年02月09日
    浏览(58)
  • Excel电子表格的PHP类库:PHP_XLSXWriter(大数据量报表、后台运行、浏览器下载)

    PHP_XLSXWriter 是一个用于生成 Microsoft Excel 2007+ xlsx 文件的 PHP 库。XLSX 是一种用基于 XML 的开放式文件标准存储电子表格数据的格式,用于 Excel 2007 及更高版。PHP_XLSXWriter 库提供简单的 API,用于将 PHP 数组中的数据写入 XLSX 文件。它可以写入包含多个工作表(worksheet)和大量数据的

    2024年02月08日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包