随心所欲在word中调用excel数据

随心所欲在word中调用excel数据

ID:8851400

大小:17.00 KB

页数:3页

时间:2018-04-09

随心所欲在word中调用excel数据_第1页
随心所欲在word中调用excel数据_第2页
随心所欲在word中调用excel数据_第3页
资源描述:

《随心所欲在word中调用excel数据》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、随心所欲在Word中调用Excel数据文章类别:Word

2、发表日期:2008-8-2912:08:25收藏到QQ书签--------------------------------------------------------------------------------你如果是一个办公室工作人员的话,相信你一定碰到过在视频教程'>word中调用excel中的数据打印名单的情况。你是否每次在这个时候就感到特别烦恼呢?  当然,有一些方法解决问题,譬如Word的“邮件合并”功能可以让众多数据自动按照自己的要求插入到文档中。  

3、但假如又有另外一个要求——在同一个A4页面中要打印多项数据(为了不浪费纸张^_^),这个时候“邮件合并”功能就不能满足了,因为合并功能不能在一页中设置多项数据(譬如完整的一个信封——包括收件人地址、收件人姓名、寄件人地址等就被视为一页,而不能在同一页中打印两份信封。)  那么是否有合适的方法呢?当然,微软OFFICE被称为“只有想不到,没有做不到”的顶级办公软件,为我们准备好了足够的功能,那就是使用VBA来减轻我们的负担!  相信大家对VBA有所耳闻,只是很多朋友没有使用过。VBA是VisualBasicforApplicati

4、on的简称。大家知道VisualBasic是一种编程语言,而VBA就是在VisualBasic平台中将MicrosoftOffice中的每个应用程序都看成一个对象。每个应用程序都由各自的Application对象代表。在Word中Application对象中包含了Word的菜单栏、工具栏、Word命令等的相应对象,以及文档对象等。各对象包括了Word菜单中的所有命令按钮。如文档对象名称为Documents,其中包括Selections、Tables等。  要从Excel中引用数据,首先要知道的是其中数据单元格的表示方法。主要有两

5、种方式,即A1和R1C1引用样式。前者是软件默认的方式,即第一个字母表示表格中的列数,第二个数字表示行数,例如A1就表示A列第一个单元格。而在R1C1引用样式中,Excel使用“R”加行数字和“C”加列数字来指示单元格的位置。例如,R1C1即指该单元格位于第1行第1列。  在Word中调用Excel数据,有两种方式,一种是OLE(对象的链接和嵌入)和DDE(动态数据交换)。这里我们要讲的是后面一种。DDE是一个协议,它允许两个应用程序通过一个DDE“通道”连续自动地进行数据交换。要控制两个应用程序之间的DDE会话,需要建立一个通

6、道,选定一个主题,请求并传送数据,然后关闭通道。  现在,我们有名称为“1.xls”Excel数据表,如图1,要将其中的数据以个人为单位在Word中打印出来。通过在Word中创建一个名称为“获取数据”的宏,使用DDE方法即可调用出“1.xls”中的数据。运行后的结果如图2。  下面就来看看具体的代码。  Sub获取数据()  DimiAsInteger//代表行号  DimjAsInteger//代表列号  DimrAsString  DimcAsString  Fori=2To4  Forj=1To3  chan=DDEIni

7、tiate(app:="Excel",topic:="system")//打开一个DDE通道  DDEExecutechannel:=chan,Command:="[open("&Chr(34)&"d:1.xls"&Chr(34)&")]"  //在一个应用程序中执行打开.xls文件命令,需要指出的是,系统要求所需文件必须放在D盘。  DDETerminatechannel:=chan——关闭DDE通道  chan=DDEInitiate(app:="Excel",topic:="1.xls")//打开一个DDE通道  dse

8、="r"+CStr(i)+"c"+CStr(j)//确定单元格位置  b="教育硕士姓名:"  e="准考证号:"  f="地址:"  Ifj=1Then  a=b+Space(3)+DDERequest(channel:=chan,Item:=dse)  //需要显示的文字加上三个空格以及按指定单元格获取到的数据,下同  EndIf  Ifj=2Then  a=e+Space(3)+DDERequest(channel:=chan,Item:=dse)  EndIf  Ifj=3Then  a=f+Space(3)+DDERe

9、quest(channel:=chan,Item:=dse)  EndIf  //通过判断列号选择显示的文字  Selection.InsertAfter(a)//在鼠标停留位置插入获得数据  WithSelection.Font//对前面显示的数据进行字体设置

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。