使用Word的“藝術(shù)字”工具
發(fā)表時(shí)間:2024-02-21 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Word 97中的“藝術(shù)字”工具(WordArt)能創(chuàng)建出各種各樣的文字,令人賞心悅目。如果能在VB中使用“藝術(shù)字”該有多好!由于有了面向?qū)ο蠹夹g(shù)中的代碼重用思想,現(xiàn)在就可以輕松地實(shí)現(xiàn)這個(gè)愿望了。 代碼重用主要有兩種形式,即二進(jìn)制代碼重用與源代碼重用。前者是通過(guò)創(chuàng)建和使用對(duì)象來(lái)實(shí)現(xiàn)的;后者,...
Word 97中的“藝術(shù)字”工具(WordArt)能創(chuàng)建出各種各樣的文字,令人賞心悅目。如果能在VB中使用“藝術(shù)字”該有多好啊!由于有了面向?qū)ο蠹夹g(shù)中的代碼重用思想,現(xiàn)在就可以輕松地實(shí)現(xiàn)這個(gè)愿望了。
代碼重用主要有兩種形式,即二進(jìn)制代碼重用與源代碼重用。前者是通過(guò)創(chuàng)建和使用對(duì)象來(lái)實(shí)現(xiàn)的;后者,顧名思義,是通過(guò)繼承實(shí)現(xiàn)的,后者在C++語(yǔ)言中被廣泛使用。由于Visual Basic不支持繼承,所以在VB中的代碼重用主要是指二進(jìn)制代碼重用,并且VB算得上是二進(jìn)制代碼重用的先驅(qū)。它的基本思路是:首先將待重用的代碼和數(shù)據(jù)編譯為二進(jìn)制文件,稱為ActiveX服務(wù)器部件,然后在客戶應(yīng)用程序里創(chuàng)建部件中類的對(duì)象來(lái)調(diào)用該部件。在VB中最為人們所熟悉的控件就是典型的二進(jìn)制代碼重用的例子,每個(gè)控件都是一個(gè)ActiveX部件,在向窗體中添加一個(gè)控件的同時(shí)就創(chuàng)建了該控件類的一個(gè)新實(shí)例,然后通過(guò)調(diào)用該控件的屬性、方法和事件就重用了該控件中的代碼。
Word 97本身就是一個(gè)龐大的代碼部件,也就是說(shuō),Word 97中的整個(gè)對(duì)象庫(kù)是對(duì)外開(kāi)放的,它允許其他應(yīng)用程序?qū)ζ溥M(jìn)行編程。換句話說(shuō),Word 97中的對(duì)象能被其他應(yīng)用程序所調(diào)用。而“藝術(shù)字”正是Word 97中的一種對(duì)象,因此可以方便地在VB中調(diào)用它。
要使用“藝術(shù)字”,必須先把Word 97的對(duì)象庫(kù)加入到程序中,然后創(chuàng)建一個(gè)對(duì)象變量來(lái)保持對(duì)Word應(yīng)用程序?qū)ο蟮囊茫梢杂脙煞N方法創(chuàng)建對(duì)Word應(yīng)用程序?qū)ο蟮囊,一種方法是直接聲明一個(gè)Word應(yīng)用程序的對(duì)象變量,例如:
Dim w As New Word.Application
這種方法稱為前期綁定,它速度較快;另一種方法是聲明一個(gè)對(duì)象變量w,然后把用CreateObject函數(shù)創(chuàng)建出的Word應(yīng)用程序?qū)ο筚x給w,例如:
Dim w As Object
Set w=CreateObject("Word.Application")
這種方法稱為后期綁定,它速度較慢。在創(chuàng)建了Word應(yīng)用程序?qū)ο蠛,就可以以代碼的方式像在Word中進(jìn)行具體操作那樣創(chuàng)建新文檔,并在文檔中加入“藝術(shù)字”。在創(chuàng)建好“藝術(shù)字”之后,用剪貼板將其傳給窗體。在創(chuàng)建Word應(yīng)用程序?qū)ο髸r(shí),VB會(huì)在后臺(tái)自動(dòng)打開(kāi)Word,因此,在程序結(jié)束時(shí),應(yīng)該先關(guān)閉Word,其代碼如下:
w.Quit wdDoNotSaveChanges
下面用一個(gè)具體的項(xiàng)目實(shí)例幫你輕松學(xué)習(xí)如何在VB中使用Word對(duì)象。
(1)啟動(dòng)Microsoft Visual Basic 5.0,選擇“標(biāo)準(zhǔn)EXE”,創(chuàng)建一個(gè)新項(xiàng)目;
(2)選擇“項(xiàng)目”菜單中的“引用”選項(xiàng),顯示“引用”對(duì)話框,選中"Microsoft Word 8.0 Object Library"和"Microsoft Office 8.0 Object Library"兩項(xiàng),單擊“確定”按鈕(見(jiàn)圖1);
(3)將下列代碼加入到Form1的“通用” “聲明”選項(xiàng)中:
Dim w As New Word.Application
(4)將下列代碼加入到Form1的Load事件中:
Private Sub Form_Load()
w.Documents.Add.Select
w.ActiveDocument.Shapes.AddTextEffect(0,"藝術(shù)字","隸書",48#,-1,0,183.75,70.5).Select
End Sub
這里顯示的字樣是隸書的“藝術(shù)字”三個(gè)字,你可以根據(jù)自己的喜好來(lái)改變字體(如宋體、楷體等)以及改變字樣;
(5)將下列代碼加入到Form1的Click事件中:
Private Sub Form_Click()
w.Selection.ShapeRange.TextEffect.PresetTextEffect = Int(Rnd(1) * 30)
w.Selection.ShapeRange.TextEffect.FontName = "隸書"
w.Selection.Copy
Picture = Clipboard.GetData()
End Sub
(6)將下列代碼加入到Form1的Unload事件中:
Private Sub Form_Unload(Cancel As Integer)
w.Quit wdDoNotSaveChanges
Set w = Nothing
End Sub
(7)在窗體上放置一個(gè)按鈕,其Caption屬性為"Exit",并在它的Click事件中處理退出:
Private Sub Command1_Click()
End
End Sub
(8)運(yùn)行程序后,當(dāng)鼠標(biāo)在窗體上單擊時(shí),會(huì)隨機(jī)地顯示出一種“藝術(shù)字”字型(Word中共有30種內(nèi)建“藝術(shù)字”字型),下圖分別給出了隸書與宋體兩種不同字體的字樣為“藝術(shù)字”的幾種情形。
同樣,由這個(gè)實(shí)例可以舉一反三,即我們也可以在VB中使用Excel的圖表、PowerPoint的幻燈片,因?yàn)镺ffice 97中的產(chǎn)品都是代碼部件,這些產(chǎn)品中的對(duì)象庫(kù)都是可以被其他應(yīng)用程序調(diào)用的,所以只要了解這些對(duì)象的外部接口(屬性、方法和事件),就可以方便地調(diào)用這些對(duì)象了。