word表格图片自动适应表格大小_Excel应用实践20:使用Excel中的数据自动填写Word表格...
学习Excel技术,关注微信公众号:
excelperfect
我在Excel工作表中存放着数据,如下图1所示。
图1
我想将这些数据逐行自动输入到Word文档的表格中并分别自动保存,Word文档表格如下图2所示,文档名为“datafromexcel.docx”。
图2
解决思路
首先,将需要自动填写的datafromexcel.docx文档作为模板,并对每个要填写的位置放置书签。例如,将光标移至上图2所示表格中姓名后的空格,单击功能区选项卡“插入——书签”,在弹出的“书签”对话框中输入书签名“姓名”,如下图3所示。
图3
同样,在表的其它空格中插入相应的书签,结果如下图4所示。
图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所示。
图5
打开任一文档,结果都是填写好了的表格,如下图6所示。
图6
代码的图片版如下:
word表格图片自动适应表格大小_Excel应用实践20:使用Excel中的数据自动填写Word表格...相关推荐
- python从excel中读取数据并填写网页表格
话不多说,先直接上代码 import time from selenium import webdriver from selenium.webdriver.common.keys import Ke ...
- xlsx表格怎么做汇总统计_excel表格 的自动统计数据-excel,怎么做数据自动汇总
excel,怎么做数据自动汇总 在EXCEL里面查找然后自动统量的具骤如下: 我们需要的材料分别是:电脑Excel表格. 1.首先我们打开需要编辑的Excel表格,点击打开"查找和选择&qu ...
- word录入表单数据 java 导入系统,java导入excel | 怎么把excel中的数据批量导入到word中的表格中...
用javascript怎么实现把excel中的数据批量导入到数据库表中 这个js不能直接实现吧 我们程序用到 先读取excel内容转换成数组 然后放到页面上 再提交表单 储存 MySql如何批量添加数 ...
- matlab中图显示单元格,excel如何根据表格中的数据自动在单元格中画图:
如何利用matlab根据excel表格里面的数据画图 将待的结构的数据录入Excel中,录入意行列要跟原矩阵一一对应 录入完以后保存数据,为了后续使用方便,命名时我们最好把它命名为我们接下来在MATL ...
- 如何将excel表格导入word_如何将Excel中的数据写入Word表?
之前我们分享了一期小代码,内容是如何将word中表格的数据读入excel-- 之后有朋友表示知道了,又问如何将excel中的数据写入word-- 此时此刻,我再一次清醒的意识到,这世界上像我这样好的人 ...
- matlab如何在word中插入多个表格,怎么把excel中的数据批量导入到word中的表格中《不同表格间的数据导入》...
如何将excel表格中大量数据导入matlab中并作图 工具:MATLAB.office excel 将待导入的矩阵结构据录入Excel中,录入时注意行列原矩阵一一对应. 录入完以后保存数据,为了后续 ...
- lisp倒入excel数据画图_Excel表格数据在cad画出图形-如何将EXCEL中的数据导入到CAD中,绘制成曲线...
如何实现excel的数据与cad图形的关联 举个例 假如根据B2单元格中的半径画一个圆 : 打开EXCEL,在B2单元格中输个圆的半径100 按快捷Alt F11打开VBA编辑器并插入一个模块 引用C ...
- matlab提取数据画图,matlab提取excel表格数据画图-如何将Excel中的数据导入MATLAB并在MATLAB中画出图......
在matlab上如何导入excel表格然后画图 工具:matlab 2018b 1.打开matlab,点击主页下面导入数据,可以导入excel数据,在此将自己命名的huitushuju文件导入: 2. ...
- matlab将数据输出到excel中,matlab数据输出为excel表格-如何把matlab中的数据导到excel表格中...
如何将matlab工作空间的数据导出到excel 1.很简单的用xlswrite函数就可以了.首先打开matlab,输入你的代码 2.找到你要存放文件的位置复制绝对路径(致谢文件名的话就会存放在当前目 ...
最新文章
- Redis之intset(整数集合)
- App开发流程之加密工具类
- Windows Server 2016及System Center 2016正式商用
- 用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序
- Linux 如何查看命令所在位置/查看命令文件所在位置
- 给自己的网址加上https,添加ssl证书(springboot项目)
- (0)PCIE接口目录(学无止境)
- Marco:Filecash全网算力增加的趋势,将形成FIC价格上升的良性循环
- 蓝桥杯 ADV-89 算法提高 输出九九乘法表
- keil c语言中断怎么写,如何利用keil C实现单片机中断功能
- 帆软高级函数应用之数(学)值函数
- 敏捷开发案例:用白板解决项目管理和团队沟通
- python如何将批量txt文本转成批量word格式
- windows中VMWare下安装Mac Os X 10.11踩坑记
- c#中 utm坐标转换经纬度坐标
- 1年赋能100家环保机构,阿里云发布“青山绿水”计划
- 大佬们抖音带货流水都过亿 普通人有什么抖音变现的好方式
- Kepserver EX6配置opc ua服务端 以及客户端
- python3 规则引擎_Ilog、Drools、Jess规则引擎的Rule Language 对比
- matlab 脱离mcr,MATLAB生成exe脱离matlab运行可执行程序
热门文章
- 电脑fps低怎么办_电脑想要英雄联盟玩的流畅,主要看哪几个方面?
- MATLAB编辑GUI界面
- unet实现区域分割
- CV中的经典网络模型
- 22条API设计的实践
- Java加密与解密的艺术~安全协议~单向认证服务
- linux安装汉语输入法,在linux中安装google拼音输入法
- mousemove事件java,three.js,补间相机和mousemove事件
- action在java_@Action(value=/login在java语句中是什么意思
- 经典php代码,HTML_php教程:经典PHP代码,经典循环例子
HTMLHEAD - phpStudy