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这个域名竟然消失了。联…

python傅里叶函数图像_python实现傅里叶级数展开的实现

傅立叶级数的介绍我就不说了,自己也是应用为主,之前一直觉得很难懂,但最近通过自己编程实现了一些函数的傅立叶级数展开之后对傅立叶 级数展开的概念比较清楚了(1)函数如下函数图象如下:代码:from pylab import *x mg…

kafka python教程_kafka python 指定分区消费

通过assign、subscribe两者之一为消费者设置消费的主题consumer KafkaConsumer(bootstrap_servers[127.0.0.1:9092],auto_offset_resetlatest,enable_auto_commitTrue, # 自动提交消费数据的offsetconsumer_timeout_ms 10000, # 如果1秒内kafka中没有可供消费的数据&#xff0…

python字典由什么组成_在Python中,将由关键字对组成的列表添加到字典中最简单的方法是什么?...

试试这个:data []with open(names.dat) as database:for line in database:if line.strip(): # skip blank linesdata.append(dict(i.split(":") for i in line.rstrip(\n).split(",")))如果您的文件是:^{pr2}$data将是&#xff1a…

java题霸_牛客题霸每日一题 + NC50 + Java题解

import java.util.*;/** public class ListNode {* int val;* ListNode next null;* }*/public class Solution {/**** param head ListNode类* param k int整型* return ListNode类*/public ListNode reverseKGroup (ListNode head, int k) {if (head null || head.next…

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()函…

python视频网站分类_媒资分类_Python SDK_服务端SDK_视频点播 - 阿里云

初始化客户端使用前请先初始化客户端,请参见创建分类调用AddCategory接口,完成创建分类功能。接口参数和返回字段请参见from aliyunsdkvod.request.v20170321 import AddCategoryRequestdef add_category(clt, cateName, parentId-1):request AddCatego…

为什么java需要静态类_java – 为什么OOP中静态类的最佳实践有所不同?

我目前正在阅读有关Java最佳实践的内容,我发现根据this book,我们必须支持非静态的静态类.我记得在C#最佳实践中,我们必须根据Dennis Doomen的C#3.0,4.0和5.0编码指南来避免这种情况:AV1008 – Avoid static classesWith the exception of extension method contain…

光电转换模块_光模块: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_Java中关于获取时间(日期)的总结大全

文章目录1.相关类1.1 java.util.Date1.2 java.text.DateFormat(抽象类)1.3 java.text.SimpleDateFormat(DateFormat的直接子类)1.4 java.util.Calendar(抽象类)2.示例2.1 日期取值2.1.1 获取当前系统时间(毫秒数)2.2 日期转换2.2.1 日期转字符串、字符串转日期2.2.2 将日期转换…

python仪表指针识别_一种指针式仪表的识别方法

一种指针式仪表的识别方法杨世杰,张平【摘要】当前指针式仪表识别技术日益成熟,其中指针形状和位置的识别大多采用Hough变换算法,传统的Hough变换算法运算时间长、储存空间大,使得识别过程效率低下。针对以上缺点,提出…

树莓派python编程读取电压_《树莓派Python编程指南》——3.2 在结构体中存储值-阿里云开发者社区...

本节书摘来自华章计算机《树莓派Python编程指南》一书中的第3章,第3.2节,作者:(美) Alex Bradbury Ben Everard更多章节内容可以访问云栖社区“华章计算机”公众号查看。3.2 在结构体中存储值除了简单数据类型,Python还允许我们将数据用不同…

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

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

Java 数据库进度条_java进度条

练习JProgressBar结合Timer使用。代码如下:package luojing;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.Timer;import java.util.TimerTask;public class NewClass{static JProgressBar jpb null;static JButton jb null;…

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

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