明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

使用Word的“藝術(shù)字”工具

[摘要]Word 97中的“藝術(shù)字”工具(WordArt)能創(chuàng)建出各種各樣的文字,令人賞心悅目。如果能在VB中使用“藝術(shù)字”該有多好!由于有了面向?qū)ο蠹夹g(shù)中的代碼重用思想,現(xiàn)在就可以輕松地實(shí)現(xiàn)這個(gè)愿望了。   代碼重用主要有兩種形式,即二進(jìn)制代碼重用與源代碼重用。前者是通過創(chuàng)建和使用對象來實(shí)現(xiàn)的;后者,...
Word 97中的“藝術(shù)字”工具(WordArt)能創(chuàng)建出各種各樣的文字,令人賞心悅目。如果能在VB中使用“藝術(shù)字”該有多好!由于有了面向?qū)ο蠹夹g(shù)中的代碼重用思想,現(xiàn)在就可以輕松地實(shí)現(xiàn)這個(gè)愿望了。
  代碼重用主要有兩種形式,即二進(jìn)制代碼重用與源代碼重用。前者是通過創(chuàng)建和使用對象來實(shí)現(xiàn)的;后者,顧名思義,是通過繼承實(shí)現(xiàn)的,后者在C++語言中被廣泛使用。由于Visual Basic不支持繼承,所以在VB中的代碼重用主要是指二進(jìn)制代碼重用,并且VB算得上是二進(jìn)制代碼重用的先驅(qū)。它的基本思路是:首先將待重用的代碼和數(shù)據(jù)編譯為二進(jìn)制文件,稱為ActiveX服務(wù)器部件,然后在客戶應(yīng)用程序里創(chuàng)建部件中類的對象來調(diào)用該部件。在VB中最為人們所熟悉的控件就是典型的二進(jìn)制代碼重用的例子,每個(gè)控件都是一個(gè)ActiveX部件,在向窗體中添加一個(gè)控件的同時(shí)就創(chuàng)建了該控件類的一個(gè)新實(shí)例,然后通過調(diào)用該控件的屬性、方法和事件就重用了該控件中的代碼。
  Word 97本身就是一個(gè)龐大的代碼部件,也就是說,Word 97中的整個(gè)對象庫是對外開放的,它允許其他應(yīng)用程序?qū)ζ溥M(jìn)行編程。換句話說,Word 97中的對象能被其他應(yīng)用程序所調(diào)用。而“藝術(shù)字”正是Word 97中的一種對象,因此可以方便地在VB中調(diào)用它。
  要使用“藝術(shù)字”,必須先把Word 97的對象庫加入到程序中,然后創(chuàng)建一個(gè)對象變量來保持對Word應(yīng)用程序?qū)ο蟮囊,可以用兩種方法創(chuàng)建對Word應(yīng)用程序?qū)ο蟮囊茫环N方法是直接聲明一個(gè)Word應(yīng)用程序的對象變量,例如:
  Dim w As New Word.Application
  這種方法稱為前期綁定,它速度較快;另一種方法是聲明一個(gè)對象變量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ū)ο蠛螅涂梢砸源a的方式像在Word中進(jìn)行具體操作那樣創(chuàng)建新文檔,并在文檔中加入“藝術(shù)字”。在創(chuàng)建好“藝術(shù)字”之后,用剪貼板將其傳給窗體。在創(chuàng)建Word應(yīng)用程序?qū)ο髸r(shí),VB會在后臺自動打開Word,因此,在程序結(jié)束時(shí),應(yīng)該先關(guān)閉Word,其代碼如下:
  w.Quit wdDoNotSaveChanges
  下面用一個(gè)具體的項(xiàng)目實(shí)例幫你輕松學(xué)習(xí)如何在VB中使用Word對象。
  (1)啟動Microsoft Visual Basic 5.0,選擇“標(biāo)準(zhǔn)EXE”,創(chuàng)建一個(gè)新項(xiàng)目;
  (2)選擇“項(xiàng)目”菜單中的“引用”選項(xiàng),顯示“引用”對話框,選中"Microsoft Word 8.0 Object Library"和"Microsoft Office 8.0 Object Library"兩項(xiàng),單擊“確定”按鈕(見圖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ù)自己的喜好來改變字體(如宋體、楷體等)以及改變字樣;
  (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í),會隨機(jī)地顯示出一種“藝術(shù)字”字型(Word中共有30種內(nèi)建“藝術(shù)字”字型),下圖分別給出了隸書與宋體兩種不同字體的字樣為“藝術(shù)字”的幾種情形。
   同樣,由這個(gè)實(shí)例可以舉一反三,即我們也可以在VB中使用Excel的圖表、PowerPoint的幻燈片,因?yàn)镺ffice 97中的產(chǎn)品都是代碼部件,這些產(chǎn)品中的對象庫都是可以被其他應(yīng)用程序調(diào)用的,所以只要了解這些對象的外部接口(屬性、方法和事件),就可以方便地調(diào)用這些對象了。