VB5.0调用Office97技巧 作者:袁津生 Visual Basic 5.0具有简单、易学等特点,深受初学者的欢迎,但也有一些不如人意的地方。例如,不能像Word 97那样进行拼写检查,不能像Excel 97那样具有很多的函数。如果我们能将Word 97和Exce l97的功能使用在Visual Basic 5.0中,就可以使VB达到锦上添花的目的。   我们知道所有Office 97 应用程序都提供了ActiveX对象,我们可以在Visual Basic 5.0中使用它们。   调用Word 97   要想在VB中调用Word 97,首先要打开VB的“工程”菜单中的“引用”项目,并在该项目对话框中选定“Microsoft Word 8.0 Object Library”就可以了。   下面我们举例说明调用Word 97中的“拼写检查”和“单词统计”功能。首先新建一个工程并在窗体上放置一个TextBox控件和两个CommandButton控件,然后添入如下的代码:    Option Explicit    Dim Doc As New Document    Dim Visi As Boolean   图1 调用Word 97    ′拼写检查    Private Sub Command1-Click()    Form1.Caption = “拼写检查"    Doc.Range.Text = Text1   ′确定范围    Doc.Application.Visible = True ′将Word 97变为可见    AppActivate Doc.Application.Caption   ′激活Word 97    Doc.Range.CheckSpelling   ′拼写检查    Text1 = Doc.Range.Text    Text1 = Left(Text1, Len(Text1) - 1)    AppActivate Caption    End Sub    ′统计单词数    Private Sub Command2-Click()    Dim Dlg As Word.Dialog    Doc.Range = Text1.Text    Set Dlg = Doc.Application.Dialogs    (wdDialogDocumentStatistics)    Dlg.Execute ′统计单词和字符    Form1.Caption =“单词数:" & Str(Dlg.Words) & “词"    & Str(Dlg.Characters) & “字符" ′显示统计结果    End Sub    Private Sub Form-Load()    Form1.Caption =“调用Word 97"    Text1.Text = “"    Command1.Caption = “拼写检查"    Command2.Caption = “统计单词"    ′使应用程序可见    Visi = Doc.Application.Visible    End Sub    ′关闭应用程序    Private Sub Form-Unload(Cancel As Integer)    If Visi Then ′关闭文件    Doc.Close savechanges:=False    Else    Doc.Application.Quit savechanges:=False ′关闭 Word 97    End If    End Sub    运行中的窗体如图1所示。   图2 调用Excel 97   调用Excel 97   使用Excel Sheet对象的技术可以处理可变数量的数据,并将结果最后送到你的Visual Basic 应用程序中。例子如下:   新建一个工程并在新建的窗体上放置两个TextBox控件和一个CommandButton控件及六个Label控件。建设中的窗体如图2所示。   程序代码如下:    Option Explicit    Private Sub Command1-Click()    Dim xObject As Object    ′调用Excel 97    Set xObject = CreateObject(“Excel.Sheet")    Set xObject = xObject.Application.ActiveWorkbook.ActiveSheet    xObject.Range(“A1").Value = Text1.Text ′将数值送入Excel 97的A1单元格    xObject.Range(“A2").Value = Text2.Text ′将数值送入Excel 97的A2单元格    xObject.Range(“A3").Formula = “=MAX(A1,A2)" ′将最大值送入A3单元格    xObject.Range(“A4").Formula = “=ATAN(A1/A2)*180/PI()" ′将反正切值送入A4单元格    ′显示计算的结果    Label1.Caption = xObject.Range(“A3").Value    Label2.Caption = xObject.Range(“A4").Value    Set xObject = Nothing    End Sub    Private Sub Form_Load()    Text1.Text = “"   Text2.Text = “"   Label1.Caption = “"   Label2.Caption = “"   End Sub   该程序的作用是:首先在两个文本框(Text1和Text2)输入数值并分别将输入的数值送入Excel 97的“A1”和“A2”单元格中,然后用Excel 97中的“Max()”函数将计算的结果送入“A3” 单元格中;用反正切函数“ATAN()”进行计算并将结果送入“A4” 单元格中,最后输出。