欢迎来到天天文库
浏览记录
ID:14390513
大小:49.50 KB
页数:5页
时间:2018-07-28
《在word中调用excel中的数据方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Word的“邮件合并”功能可以让众多数据自动按照自己的要求插入到文档中。但假如又有另外一个要求:在同一个A4页面中要打印多项数据,这个时候“邮件合并”功能就不能满足了,因为合并功能不能在一页中设置多项数据(譬如完整的一个信封--包括收件人地址、收件人姓名、寄件人地址等就被视为一页,而不能在同一页中打印两份信封。) 要从Excel中引用数据,首先要知道的是其中数据单元格的表示方法。主要有两种方式,即A1和R1C1引用样式。前者是软件默认的方式,即第一个字母表示表格中的列数,第二个数字表示行数,例如A1就表示A列第一个单元格。而在R1C1引用样式中,Excel使用“R”加
2、行数字和“C”加列数字来指示单元格的位置。例如,R1C1即指该单元格位于第1行第1列。 在Word中调用Excel数据,有两种方式,一种是OLE(对象的链接和嵌入)和DDE(动态数据交换)。这里我们要讲的是后面一种。DDE是一个协议,它允许两个应用程序通过一个DDE“通道”连续自动地进行数据交换。要控制两个应用程序之间的DDE会话,需要建立一个通道,选定一个主题,请求并传送数据,然后关闭通道。 现在,我们有名称为“1.xls”的Excel数据表,要将其中的数据以个人为单位在Word中打印出来。通过在Word中创建一个名称为“获取数据”的宏,使用DDE方法即可调用出“
3、1.xls”中的数据。下面就来看看具体的代码:Sub获取数据()DimiAsInteger '代表行号DimjAsInteger '代表列号DimrAsStringDimcAsString Fori=2To4 Forj=1To3 chan=DDEInitiate(app:="Excel",topic:="system") '打开一个DDE通道 DDEExecutechannel:=chan,Command:="[open("&Chr(34)&"d:.xls"&Chr(34)&")]" '在一个应用程序中执行打开.xls文件命令,需要指出的是
4、,系统要求所需文件必须放在D盘。 DDETerminatechannel:=chan '关闭DDE通道 chan=DDEInitiate(app:="Excel",topic:="1.xls") '打开一个DDE通道 dse="r"+CStr(i)+"c"+CStr(j) '确定单元格位置 b="教育硕士姓名:" e="准考证号:" f="地址:" Ifj=1Then a=b+Space(3)+DDERequest(channel:=chan,Item:=dse) '需要显示的文字加上三个空
5、格以及按指定单元格获取到的数据,下同 EndIf Ifj=2Then a=e+Space(3)+DDERequest(channel:=chan,Item:=dse) EndIf Ifj=3Then a=f+Space(3)+DDERequest(channel:=chan,Item:=dse) EndIf '通过判断列号选择显示的文字 Selection.InsertAfter(a) '在鼠标停留位置插入获得数据 WithSelection.Font '对前面显示的数据进行字体设置
6、 .NameFarEast="宋体" .Name="宋体" .Size=14 .Bold=True EndWith Nextj Nexti DDETerminateAll '关闭所有以及打开的DDE通道EndSub 这是一个使用DDE的简单例子,在WIN2K+Word2003环境下调试通过。
此文档下载收益归作者所有