在Word中调用Excel中的数据的方法是怎样的?
在Word中调用Excel中的数据的方法是怎样的?
Word的“邮件合并”功能可以让众多数据自动按照自己的要求插入到文档中。但假如又有另外一个要求:在同一个A4页面中要打印多项数据,这个时候“邮件合并”功能就不能满足了,因为合并功能不能在一页中设置多项数据(譬如完整的一个信封--包括收件人地址、收件人姓名、寄件人地址等就被视为一页,而不能在同一页中打印两份信封。
) 要从Excel中引用数据,首先要知道的是其中数据单元格的表示方法。主要有两种方式,即A1和R1C1引用样式。前者是软件默认的方式,即第一个字母表示表格中的列数,第二个数字表示行数,例如A1就表示A列第一个单元格。而在R1C1引用样式中,Excel使用“R”加行数字和“C”加列数字来指示单元格的位置。
例如,R1C1即指该单元格位于第1行第1列。 在Word中调用Excel数据,有两种方式,一种是OLE(对象的链接和嵌入)和DDE(动态数据交换)。这里我们要讲的是后面一种。DDE是一个协议,它允许两个应用程序通过一个DDE“通道”连续自动地进行数据交换。
要控制两个应用程序之间的DDE会话,需要建立一个通道,选定一个主题,请求并传送数据,然后关闭通道。 现在,我们有名称为“1。xls”的Excel数据表,要将其中的数据以个人为单位在Word中打印出来。通过在Word中创建一个名称为“获取数据”的宏,使用DDE方法即可调用出“1。
xls”中的数据。 下面就来看看具体的代码: Sub 获取数据()Dim i As Integer '代表行号Dim j As Integer '代表列号Dim r As StringDim c As String For i = 2 To 4 For j = 1 To 3 chan = DDEInitiate(app:="Excel", topic:="system") '打开一个DDE通道 DDEExecute channel:=chan, Command:="[open(" & Chr(34) & "d:。
xls" & Chr(34) & ")]" '在一个应用程序中执行打开。xls文件命令,需要指出的是,系统要求所需文件必须放在D盘。 DDETerminate channel:=chan '关闭DDE通道 chan = DDEInitiate(app:="Excel", topic:="1。
xls") '打开一个DDE通道 dse = "r" + CStr(i) + "c" + CStr(j) '确定单元格位置 b = "教育硕士姓名:" e = "准考证号:" f = "地址:" If j = 1 Then a = b + Space(3) + DDERequest(channel:=chan, Item:=dse) '需要显示的文字加上三个空格以及按指定单元格获取到的数据,下同 End If If j = 2 Then a = e + Space(3) + DDERequest(channel:=chan, Item:=dse) End If If j = 3 Then a = f + Space(3) + DDERequest(channel:=chan, Item:=dse) End If ' 通过判断列号选择显示的文字 Selection。
InsertAfter (a) '在鼠标停留位置插入获得数据 With Selection。Font '对前面显示的数据进行字体设置 。NameFarEast = "宋体" 。Name = "宋体" 。
Size = 14 。Bold = True End With Next j Next i DDETerminateAll '关闭所有以及打开的DDE通道End Sub 这是一个使用DDE的简单例子,在WIN2K+Word2003环境下调试通过。
以上是我对于这个问题的解答,希望能够帮到大家。
答:在利用OFFICE工具处理文档时,我们经常会遇到在WORD中调用EXCEL工作表数据或图表的情况,我们通常的做法是手动输入或者选择复制粘贴。但是,当EXCEL表...详情>>
问:同事ip:10.101.107.28 我的IP:10.101.104.23我们在...
答:你们公司是WINDOWS域环境吗,如果是的话,你在网上邻居里应该能看到对方的主机。让她把文件夹共享出来就可以。 如果不是WINDOWS域,那得看你们是不是在一个...详情>>
问:数据结构顺序表的建立,可定义顺序表 #define maxnum elemtyp...
答:打开VC ,然后点击新建,出来界面之后选择Win32 Console Application并输入工程的名称和选择项目的位置,然后出现“一个空工程”,在点击“...详情>>