VB5.0调用Office97技巧

发表于:2007-06-21来源:作者:点击数: 标签:
Visual Basic 5.0具有简单、易学等特点,深受初学者的欢迎,但也有一些不如人意的地方。例如,不能像Word 97那样进行拼写检查,不能像Excel 97那样具有很多的函数。如果我们能将Word 97和Exce l97的功能使用在Visual Basic 5.0中,就可以使 VB 达到锦上添花

   
  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 Inte )

  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”单元格中,最后输出。

原文转自:http://www.ltesting.net