word表格图片自动适应表格大小_Excel应用实践20:使用Excel中的数据自动填写Word表格...

学习Excel技术,关注微信公众号:

excelperfect

我在Excel工作表中存放着数据,如下图1所示。

71d34a16eb52c2782ee26f6742fc62fd.png

图1

我想将这些数据逐行自动输入到Word文档的表格中并分别自动保存,Word文档表格如下图2所示,文档名为“datafromexcel.docx”。

45744b6eb052c21b7741b436708bcf1d.png

图2

解决思路

首先,将需要自动填写的datafromexcel.docx文档作为模板,并对每个要填写的位置放置书签。例如,将光标移至上图2所示表格中姓名后的空格,单击功能区选项卡“插入——书签”,在弹出的“书签”对话框中输入书签名“姓名”,如下图3所示。

659132c056dfbf1a13d6f3a3b58a6d2c.png

图3

同样,在表的其它空格中插入相应的书签,结果如下图4所示。

48088114d4d2d770dfba69479d8f09eb.png

图4

在Excel工作表中,将相应数据所在的单元格命名,名称与要填写的上图4中表的书签名相同。这就需要我们先命名单元格,待将相应的数据输出到Word表中后,再删除这些名称。然后,移至下一行,再进行单元格命名,并将相应的数据输出到Word表中,再删除这些名称。如此反复,直至工作表每行数据均创建了Word文档。

编写代码

按照上述思路,在存放数据的Excel工作簿中编写代码:

Sub ExportDataToWord()

    '变量声明

    Dim objWord As Object,docWord As Object

    Dim wb As Workbook

    Dim xlName As Name

    Dim Path As String

    Dim lLastRow As Long

    Dim i As Long

    '下面两个变量可修改为实际工作簿和路径

    '设置数据所在工作簿

    Set wb = ActiveWorkbook

    '要输入数据的Word模板

    Path = wb.Path & "\datafromexcel.docx"

    '错误处理

    On Error GoTo ErrorHandler

    '工作簿工作表中最后数据行行号

    lLastRow =wb.Worksheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row

    '遍历工作表数据行

    '从中取出数据填充Word文档

    For i = 2 To lLastRow

        '命名名称

        With wb.Worksheets("Sheet1")

           .Range("A" & i).Name = Range("A1").Value

           .Range("B" & i).Name = Range("B1").Value

           .Range("C" & i).Name = Range("C1").Value

           .Range("D" & i).Name = Range("D1").Value

        End With

        '创建新的Word实例

        Set objWord = CreateObject("Word.Application")

        '错误处理

        On Error GoTo ErrorHandler

        '打开Word文档

        Set docWord = objWord.Documents.Add(Path)

        '遍历当前工作簿中的名称

        For Each xlName In wb.Names

            '如果在Word文档中存在与名称相同的书签

            If docWord.Bookmarks.Exists(xlName.Name) Then

                '将工作表名称的值放入书签所在位置

               docWord.Bookmarks(xlName.Name).Range.Text = Range(xlName.Value)

            End If

        Next xlName

        With objWord

            '激活并显示Word文档

            .Visible = True

           .ActiveWindow.WindowState = 0

            .Activate

            '以列A中相应单元格中的数据命名并保存Word文档

           .ActiveDocument.SaveAs wb.Path & "\" & Range("A" & i).Value & ".docx"

            '退出Word

            .Application.Quit

        End With

        '释放对象

        Set objWord = Nothing

        '删除名称

       Names(Range("A1").Value).Delete

       Names(Range("B1").Value).Delete

       Names(Range("C1").Value).Delete

       Names(Range("D1").Value).Delete

    Next i

     '释放Word对象并退出过程

ErrorExit:

    Set objWord = Nothing

    Exit Sub

    '错误处理

ErrorHandler:

    If Err Then

        MsgBox "错误号: " & Err.Number &"; 出问题了."

        If Not objWord Is Nothing Then

            objWord.QuitFalse

        End If

        Resume ErrorExit

    End If

End Sub

代码中已经给出了详细的注释,有兴趣的朋友可以仔细体会。

运行代码

在运行代码前,要保证代码所在的工作簿与Word文档模板datafromexcel.docx在同一文件夹中。运行ExportDataToWord过程,在文件夹中会生成以列A中的姓名为名称的Word文档,如下图5所示。

bcd499387ccafd365863d7c70712375d.png

图5

打开任一文档,结果都是填写好了的表格,如下图6所示。

ed5d8f174e6d5ad02c8081877f6ab44b.png

图6

代码的图片版如下:

cc727bebb4f679eef4e02c3d5e88692f.png

24826f8c60c8f76c115555c63f89dcf2.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dnspod java_使用dnspod遭遇的奇特问题以及背后的原因与临时解决方法

由于园子里有不少用户在使用dnspod,我们觉得有必要将这两天blogjava.net域名在dsnpod遇到的奇特问题分享一下,以免再有人踩着这个坑。12月11日,我们登录到dnspod的后台时,大吃一惊,blogjava.net这个域名竟然消失了。联…

cad转dxf格式文件太大_想知道DWG、DWT、DWS和DXF是什么吗?从了解4种CAD图形格式开始吧...

原创:就说我在开发区常用图形文件格式盘点CAD中的图形文件格式共9种,其扩展名分别为:❶DWG – 图形或块文件❷DWT – 图形样板文件❸DWS – 图形标准文件❹DXF – 图形交换文件(ASCII 或二进制)❺DST – 图形集或图纸集文件(SHEETSET 命令)❻…

vue登录如何存储cookie_vue项目实现表单登录页保存账号和密码到cookie功能

实现功能:1.一周内自动登录勾选时,将账号和密码保存到cookie,下次登陆自动显示到表单内2.点击忘记密码则清空之前保存到cookie的值,下次登陆需要手动输入次要的就不说了直接上主要的代码html部分登陆帮助一周内自动登录忘记密码&a…

usb协议规范_USB连接标准接口简述发布

制程工艺材料类USB为Universal Series Bus (通用序列总线)的缩写,是一种串行通讯协议(sereal protocol),它负责实体层和链接层的建立。它可以支持慢速的数据传输(如鼠标、键盘、游戏摇杆等)也支持快速的数字压缩影音信息。普通的USB2.0版本以下有两对线,分别用来传输…

java urlencode php_PHP如何使用urlencode()函数进行url编码?(代码示例)

urlencode()函数是PHP中的一个内置函数,用于对url进行编码。下面本篇文章就来给大家介绍一些urlencode()函数的用法,让大家了解urlencode()函数是如何对url进行编码的,希望对大家有所帮助。【视频教程推荐:PHP教程】urlencode()函…

光电转换模块_光模块:PIN光电二极管和APD光电二极管

在前面的文章中我们介绍了光模块的基本结构,包括TOSA、ROSA以及BOSA。今天我们接着介绍ROSA光器件的光电探测器。光模块接收端能正确识别信号并完成光电转换,就需要光电探测器,光电探测器通过检测出照射在其上面的光功率,从而并完…

java如何添加自定义的图片_java代码将图片加上自定义水印 -4

java代码将图片加上自定义水印,然后生成了新的图片import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileOutputStream;import javax.image…

vba 当前文件名_值得学习和珍藏的VBA常用编程代码语句

分享成果,随喜真能量。大家好,今天继续和大家分享VBA编程中常用的过程代码。过程代码在这里讲解的语句非常简单单一,简单的语句组合起来就是一个复杂的过程,我们要认真掌握这些简单的过程,为我们复杂的工程服务。这也是…

java上传csv错误信息_java处理csv文件上传示例详解

前言:示例只是做了一个最最基础的上传csv的示例,如果要引用到代码中去,还需要根据自己的业务自行添加一些逻辑处理。ReadCsvUtil工具类package com.hanfengyeqiao.gjb.utils;import java.io.*;import java.util.*;/*** csv工具类*/public cla…

暗金色 rgb_杜伽TAURUS K310樱桃RGB红轴体验:做工精良、手感优秀

前言DURGOD杜伽的机械键盘一直以简约的外形和优秀的手感而备受好评。笔者之前用过杜伽的K310、K320两个系列的多把键盘,对其非常熟悉,外形简约大方,手感、灯效也比较满意。正因如此,这次刚刚入手了一把杜伽K310 RGB樱桃红轴&#…

vim 显示行号_Vim给文件加行号,这通惊为天人的操作没sei了!文末天书慎点

引言一般 Vim 使用 :set number 命令,在编辑器显示行号。本文展示了如何将行号插入到正文中,或者只插入到段落中。此外,还提供了打印行号的选项(Vim 可以打印带有数字的行,并且不需要文件有数字)。Vim可以使用 :s 命令在每行之前插…

java 获取对象方法有哪些方法有哪些方法有哪些_Java中创建String 对象的方法有哪些...

Java中创建String 对象的方法有哪些发布时间:2020-11-25 16:45:30来源:亿速云阅读:71作者:Leah这篇文章将为大家详细讲解有关Java中创建String 对象的方法有哪些,文章内容质量较高,因此小编分享给大家做个参…

vb中怎么使图片适应框的大小_叮!VB考前练习了解一下?

1、Visual Basic窗体设计器的主要功能是(C )。A) 画图B) 编写源程序代码C) 建立用户界面D) 显示文字解析:Visual Basic窗体设计器简称窗体(Form),是应用程序最终面向用户的窗口,它对应于应用程序的运行结果。各种图形、图像、数据等都是…

苹果切换输入法_日语输入法哪个好

在初学日语的时候经常会遇到一些不认识的词,想查一下这个词是什么意思,应该怎么输入呢?尝试过许多软件之后,テツ为大家总结了一些认为比较好用的输入法百度IME输入法。下载安装后的切换非常简单,在右下角输入法处切换至JP日语即可…

python 10个100以内随机整数编辑_你要偷偷的学Python,然后惊呆所有人(第五天) - python阿喵

标题无意冒犯,就是觉得这个广告挺好玩的前言前期回顾:你要偷偷学Python,然后惊呆所有人(第四天)在第四天的时候,我们接触了Python的模块调用,这也是Python能够火起来的一大优势。我们还实践了csv模块。不过冷静下来想想…

安卓开发怎么调用photopicker_谷歌出手整顿安卓应用程序乱象:无良权限的APP们再见了!...

相信你在使用安卓手机的时候一定有过这样的经历,在明确拒绝了软件调用电话、手机通讯录、短信等敏感内容的访问权后,APP表示无法继续运行然后强退。如果这款APP不具备可替代性,恐怕最终结果是,用户不得不选择妥协。关于应用程序度…

react router官方文档_阿里开源可插拔 React 跨端框架 UmiJS

点击上方“开发者技术前线”,选择“星标”18:30 在看 真爱作者:Tamic | 编辑: 可可阿里之前开源:阿里闲鱼开源 Flutter 应用框架 Fish Redux! 今天介绍的是前端React 框架- UmiJS。介绍umi官方宣称是一个…

java约瑟夫环迭代器_Josephus约瑟夫环问题的不同实现方法与总结

/************************************************************************//* Josephus问题——数组实现 *//************************************************************************/#include #include int Josephus(int t…

ios 下拉放大 上拉缩小_为啥鞠婧祎发量这么多?截图放大十倍她的“发缝”,网友:真密集...

​鞠婧祎,这位女明星真的是黑,红,黑,红。这不是秘密。鞠婧祎最近几天的确很受欢迎。甚至头发也受到质疑。一般而言,娱乐业的演艺人员由于多年来的工作时间安排不规则以及采取巴拉克拉法帽的行为,通常都有使…

opencv4.5.0安装包_UG NX12.0 软件介绍(附安装包)

【软件名称】 UG NX12.0【文件大小】 5.67GB 【语言支持】 简体中文【系统类型】 64位【兼容系统】 Win7 / Win8 / Win10【下载链接】 文末扩展链接获取软件简介:西门子公司推出了最新版的Siemens NX 12.0版本(UG12.0),该软件提供了当今市场上唯一可扩展…