随心所欲在Word中调用Excel数据(图)

上传人:壹****1 文档编号:496798071 上传时间:2023-05-06 格式:DOC 页数:5 大小:91KB
返回 下载 相关 举报
随心所欲在Word中调用Excel数据(图)_第1页
第1页 / 共5页
随心所欲在Word中调用Excel数据(图)_第2页
第2页 / 共5页
随心所欲在Word中调用Excel数据(图)_第3页
第3页 / 共5页
随心所欲在Word中调用Excel数据(图)_第4页
第4页 / 共5页
随心所欲在Word中调用Excel数据(图)_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《随心所欲在Word中调用Excel数据(图)》由会员分享,可在线阅读,更多相关《随心所欲在Word中调用Excel数据(图)(5页珍藏版)》请在金锄头文库上搜索。

1、随心所欲在Word中调用Excel数据(图)作者:王利兴你如果是一个办公室工作人员的话,相信你一定碰到过在Word中调用Excel中的数据打印名单的情况。你是否每次在这个时候就感到特别烦恼呢? 当然,有一些方法解决问题,譬如Word的“邮件合并”功能可以让众多数据自动按照自己的要求插入到文档中。但假如又有另外一个要求在同一个A4页面中要打印多项数据(为了不浪费纸张_),这个时候“邮件合并”功能就不能满足了,因为合并功能不能在一页中设置多项数据(譬如完整的一个信封包括收件人地址、收件人姓名、寄件人地址等就被视为一页,而不能在同一页中打印两份信封。)那么是否有合适的方法呢?当然,微软OFFICE被

2、称为“只有想不到,没有做不到”的顶级办公软件,为我们准备好了足够的功能,那就是使用VBA来减轻我们的负担!相信大家对VBA有所耳闻,只是很多朋友没有使用过。VBA是Visual Basic for Application的简称。大家知道Visual Basic是一种编程语言,而VBA就是在Visual Basic平台中将Microsoft Office中的每个应用程序都看成一个对象。每个应用程序都由各自的Application对象代表。在Word中Application对象中包含了Word的菜单栏、工具栏、Word命令等的相应对象,以及文档对象等。各对象包括了Word菜单中的所有命令按钮。如文

3、档对象名称为Documents,其中包括Selections、Tables等。要从Excel中引用数据,首先要知道的是其中数据单元格的表示方法。主要有两种方式,即A1和R1C1引用样式。前者是软件默认的方式,即第一个字母表示表格中的列数,第二个数字表示行数,例如A1就表示A列第一个单元格。而在R1C1引用样式中,Excel使用“R”加行数字和“C”加列数字来指示单元格的位置。例如,R1C1即指该单元格位于第1行第1列。在Word中调用Excel数据,有两种方式,一种是OLE(对象的链接和嵌入)和DDE(动态数据交换)。这里我们要讲的是后面一种。DDE是一个协议,它允许两个应用程序通过一个DDE

4、“通道”连续自动地进行数据交换。要控制两个应用程序之间的DDE会话,需要建立一个通道,选定一个主题,请求并传送数据,然后关闭通道。现在,我们有名称为“1.xls”Excel数据表,如图1,要将其中的数据以个人为单位在Word中打印出来。通过在Word中创建一个名称为“获取数据”的宏,使用DDE方法即可调用出“1.xls”中的数据。运行后的结果如图2。图1 “1.xls”Excel数据表图2 运行数据下面就来看看具体的代码。Sub 获取数据()Dim i As Integer /代表行号Dim j As Integer /代表列号Dim r As StringDim c As StringFor

5、 i = 2 To 4For j = 1 To 3chan = DDEInitiate(app:=Excel, topic:=system) /打开一个DDE通道DDEExecute channel:=chan, Command:=open( & Chr(34) & d:1.xls & Chr(34) & )/在一个应用程序中执行打开.xls文件命令,需要指出的是,系统要求所需文件必须放在D盘。DDETerminate channel:=chan 关闭DDE通道chan = DDEInitiate(app:=Excel, topic:=1.xls) /打开一个DDE通道dse = r + CS

6、tr(i) + c + CStr(j) /确定单元格位置b = 教育硕士姓名:e = 准考证号:f = 地址:If j = 1 Thena = b + Space(3) + DDERequest(channel:=chan, Item:=dse)/需要显示的文字加上三个空格以及按指定单元格获取到的数据,下同End IfIf j = 2 Thena = e + Space(3) + DDERequest(channel:=chan, Item:=dse)End IfIf j = 3 Thena = f + Space(3) + DDERequest(channel:=chan, Item:=dse)End If/ 通过判断列号选择显示的文字Selection.InsertAfter (a) /在鼠标停留位置插入获得数据With Selection.Font /对前面显示的数据进行字体设置.NameFarEast = 宋体.Name = 宋体.Size = 14.Bold = TrueEnd WithNext jNext iDDETerminateAll /关闭所有以及打开的DDE通道End Sub

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号