VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 使用Word的“艺术字”工具
发表评论(0)作者:, 平台:, 阅读:10695, 日期:2000-03-12
使用Word的“艺术字”工具

Word 97中的“艺术字”工具(WordArt)能创建出各种各样的文字,令人赏心悦目。

如果能在VB中使用“艺术字”该有多好啊!由于有了面向对象技术中的代码重用思

想,现在就可以轻松地实现这个愿望了。

  代码重用主要有两种形式,即二进制代码重用与源代码重用。前者是通过创建

和使用对象来实现的;后者,顾名思义,是通过继承实现的,后者在C++语言中被

广泛使用。由于Visual Basic不支持继承,所以在VB中的代码重用主要是指二进制

代码重用,并且VB算得上是二进制代码重用的先驱。它的基本思路是:首先将待重

用的代码和数据编译为二进制文件,称为ActiveX服务器部件,然后在客户应用程

序里创建部件中类的对象来调用该部件。在VB中最为人们所熟悉的控件就是典型的

二进制代码重用的例子,每个控件都是一个ActiveX部件,在向窗体中添加一个控

件的同时就创建了该控件类的一个新实例,然后通过调用该控件的属性、方法和事

件就重用了该控件中的代码。

  Word 97本身就是一个庞大的代码部件,也就是说,Word 97中的整个对象库是

对外开放的,它允许其他应用程序对其进行编程。换句话说,Word 97中的对象能

被其他应用程序所调用。而“艺术字”正是Word 97中的一种对象,因此可以方便

地在VB中调用它。

  要使用“艺术字”,必须先把Word 97的对象库加入到程序中,然后创建一个

对象变量来保持对Word应用程序对象的引用,可以用两种方法创建对Word应用程序

对象的引用,一种方法是直接声明一个Word应用程序的对象变量,例如:

  Dim w As New Word.Application

  这种方法称为前期绑定,它速度较快;另一种方法是声明一个对象变量w,然

后把用CreateObject函数创建出的Word应用程序对象赋给w,例如:

  Dim w As Object

  Set w=CreateObject("Word.Application")

 这种方法称为后期绑定,它速度较慢。在创建了Word应用程序对象后,就可以以

代码的方式像在Word中进行具体操作那样创建新文档,并在文档中加入“艺术字”。

在创建好“艺术字”之后,用剪贴板将其传给窗体。在创建Word应用程序对象时,

VB会在后台自动打开Word,因此,在程序结束时,应该先关闭Word,其代码如下:

  w.Quit wdDoNotSaveChanges

  下面用一个具体的项目实例帮你轻松学习如何在VB中使用Word对象。

  (1)启动Microsoft Visual Basic 5.0,选择“标准EXE”,创建一个新项目;

  (2)选择“项目”菜单中的“引用”选项,显示“引用”对话框,选中"

Microsoft Word 8.0 Object Library"和"Microsoft Office 8.0 Object Library

"两项,单击“确定”按钮(见图1);

  (3)将下列代码加入到Form1的“通用”|“声明”选项中:

  Dim w As New Word.Application

  (4)将下列代码加入到Form1的Load事件中:

  Private Sub Form_Load()

   w.Documents.Add.Select

   w.ActiveDocument.Shapes.AddTextEffect(0,"艺术字","隶书",48#,-1,0,

183.75,70.5).Select

 End Sub

  这里显示的字样是隶书的“艺术字”三个字,你可以根据自己的喜好来改变字

体(如宋体、楷体等)以及改变字样;

  (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)在窗体上放置一个按钮,其Caption属性为"Exit",并在它的Click事件中

处理退出:

  Private Sub Command1_Click()

   End

  End Sub

  (8)运行程序后,当鼠标在窗体上单击时,会随机地显示出一种“艺术字”字

型(Word中共有30种内建“艺术字”字型),下图分别给出了隶书与宋体两种不同

字体的字样为“艺术字”的几种情形。

   同样,由这个实例可以举一反三,即我们也可以在VB中使用Excel的图表、

PowerPoint的幻灯片,因为Office 97中的产品都是代码部件,这些产品中的对象

库都是可以被其他应用程序调用的,所以只要了解这些对象的外部接口(属性、方

法和事件),就可以方便地调用这些对象了。