實例八:Word與其它的Office組件的協(xié)作
知識點(diǎn):
Office辦公套件是一個完整的整體。如果您能夠熟練地使用套件進(jìn)行協(xié)作辦公,那一定會使您的辦公效率事半功倍?;?span lang="EN-US" xml:lang="EN-US">Office環(huán)境下的集成化辦公,應(yīng)該是這樣的:利用Word、Excel、Outlook、IE瀏覽器等輸入或獲取數(shù)據(jù),并將數(shù)據(jù)交于Access數(shù)據(jù)管理程序進(jìn)行管理;同時也可以利用Word、Excel、Outlook、IE瀏覽器、PowerPoint或FrontPage等程序,獲得并發(fā)布Access數(shù)據(jù)庫中的數(shù)據(jù)。于此,我們不難看出,整個Office套件的核心組件應(yīng)該是Access數(shù)據(jù)管理程序。當(dāng)然,各套件自身各有長處,比如,數(shù)據(jù)處理方面Excel就強(qiáng)于Access,而Outlook則是能把所有套件協(xié)調(diào)起來進(jìn)行工作的有力工具。
今天,我們側(cè)重研究如何在Word 中運(yùn)用VBA調(diào)用Office其它組件的方法。
一、調(diào)用其它組件時的標(biāo)識符
要創(chuàng)建Access對像,使用標(biāo)識符Access.Application;要創(chuàng)建Excel對像,使用標(biāo)識符Excel.Application;要創(chuàng)建Outlook對象,使用標(biāo)識符Outlook.Application;要創(chuàng)建PowerPoint對象,使用標(biāo)識符PowerPoint.Application;要在其它程序中創(chuàng)建Word對象,使用標(biāo)識符Word.Application
這些標(biāo)識符的具體運(yùn)用,我們主要舉“Word與Excel的相互調(diào)用”為例來說明。
二、Word與Excel相互調(diào)用
(一)在Word中調(diào)用Excel
首先,我們熟悉一下Excel的基本對像:工作簿對像與集合(Workbook、Workbooks)、工作表對像與集合(Worksheet、Worksheets)、單元格對像Range。這些對像在實際使用時,與我們前面介紹的“面向?qū)ο瘛钡乃枷胪耆嗤?/span>
下例將Word中活動文檔的第一段發(fā)送到Excel中,并將內(nèi)容放到B3單元格中——
’’’’==========Word聯(lián)系Excel例===========
Sub 聯(lián)系例一()
Dim Arange
Dim Aexl
Arange =ActiveDocument.Paragraphs(1).Range’取得Word中第一段的文字
Set Aexl =CreateObject("Excel.Application")’利用標(biāo)識符啟動Excel
Aexl.Visible = True’將Excel顯示出來
Aexl.workbooks.Add’新建一個工作簿
Aexl.Range("B3") = Arange’將文字寫入工作表中的B3單元格
Set Aexl = Nothing'終止兩個程序間的聯(lián)系
End Sub
代碼說明:
Set與CreateObject關(guān)鍵字,用于創(chuàng)建一個對其它Office組件對像的引用,無論您是在任意Office組件中,引用其它的任意Office組件,都必須使用這兩個關(guān)鍵字。
Nothing關(guān)鍵字用于終止兩個程序間的聯(lián)系,如果沒有這個關(guān)鍵字,程序的聯(lián)系始終存在,將消耗掉大量的系統(tǒng)資源,容易造成死機(jī)。
“Aexl.Visible = True”這段代碼用于將Excel對像顯示出來。如果沒有這一句,Excel將在后臺運(yùn)行,您可以按下“Ctrl+Alt+Del”三鍵,從系統(tǒng)進(jìn)程中看到。
(二)在Excel中調(diào)用Word
本例在Excel中運(yùn)行,假定在C盤Text文件夾下有一個MyDoc.doc文件,我們將在excel中啟動word,并將MyDoc.doc文件第二自然段的內(nèi)容寫入到Excel第一個工作表的“b8”單元格中。
啟動Excel打開VBA,寫入如下代碼:
Sub 聯(lián)系的例子二()
Dim wd
Dim Arange
Set wd =CreateObject("word.application")’利用標(biāo)識符啟動WOrd
wd.Visible = True’顯示Word
wd.documents.Open("C:\Text\MyDoc.doc")’打開欲操作的對像
Arange =wd.documents(1).paragraphs(2).Range’取得要使用的文字
Workbooks(1).Worksheets(1).Range("b8") =Arange’將文字寫入相應(yīng)單元格
Set wd = Nothing '終止兩個程序間的聯(lián)系
End Sub
與前例類似,就無需解釋了吧?
本實例的知識擴(kuò)展:朋友們,多進(jìn)行實際操作是必不可少的,大家試試其它組件間的相互調(diào)用吧。
本實例到此結(jié)束。以上內(nèi)容看似簡單,但真正想要能熟練地運(yùn)用“集成化辦公”的理念,則如何讓Office套件相互間進(jìn)行通訊,就成了一個非常重要的課題。能夠熟練進(jìn)行套件間的協(xié)作完全在于您的大量實踐。