说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB5.0调用Office97技巧

HTML文档下载 WORD文档下载 PDF文档下载
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” 单元格中,最后输出。
VB如何在DOS程序结束执行时,自动将其关闭? VB如何在VB中实现Undo(撤消)功能? VB如何在VB中实现目录遍历 VB如何在Windows操作系统中改变文件打开方式 VB如何知道硬盘是使用那一种文件系統(FAT32,FAT16)? VB如何自动更动成中文输入 VB删除整个目录 VB设置打印页边距 VB实现文件查找功能 VB使用SendMessage函数滚动文本框控件中的内容 VB使用 WIN95 的选择目录对话框 VB使用INI文件 VB使用WriteFile 块读写数据 VB使用历史文件记录 VB使用内存映射文件加快文件操作速度 VB数据报表设计器在多层结构开发的应用 VB突破 TextBox 32K 的限制 VB拖拽节点时实现目录树自动翻滚 位图文件内部初探-VB资料 VB文本的加密与解密 VB显示盘中所有的目录 VB压缩MDB文件 一个移动文件的简单方法-VB资料 VB移动文件到回收站 VB隐藏文本框控件的环境菜单(又一方法) VB隐藏文本框控件的环境菜单 VB用API复制移动文件 VB用OleDragdrop事件接受拖放文件 用VB进行文本文件的再处理 用VB开发应用程序如何使用INI文件 用VB实现文件查找功能 帮忙找一个和VB的属性区一样的代码,控件或类库均可。 Word 中字体的问题 我买了一台SLE4442读写器, 为什么不能写 谁用过FAST REPORT 请求帮助 realplayer中文件菜单栏中的以看过的文件名,怎么删除??? php如何改写或者是添加一个cron的命令参数给linux服务器? SQL Server 能制作表单和报表吗?????? DirectDraw页面格式问题(两个)。答对100分绝对送上,从不食言!(附源码) VC++中的内部交互调试器在哪? 人邮版的C++面向对象高效编程如何? realplayer中文件菜单栏中的以看过的文件名,怎么删除? 如何实现真正的无标题栏的拖动? 用"select top n"取了前n纪录后,要再接着取n+1至2n条纪录,接着再取2n+1至3n……,这种取法要怎样实现呢? 如何在Excel中编制一个宏? 如何得知程序的一个实例正在运行? 送分了,送分了,虽然不多,但天天有! 为什么select count(*) from test 时,提示表或示图不存在!!! 请问如何设置mp3文件的在线播放?? 请问在内部局域网正常的情况下,打印机无法共享(共享以后没有效果)的主要原因是什么?谢谢! ===我对Linux上的Oracle8.1.7.0.1操作的时候只读,为什么啊???==== 请给我一个GetCurrentDirectory使用实例, 问一个深入MFC的简单问题 请问有关delphi项目编译的一个小问题。 各位,那里有VisualAge for Java4.0下在?我从ibm的网站上下载了,但是安装不了,说是语言不对! shcv.dll 编译不过去!!!!! have a test!have a test!have a test!have a test!have a test!have a test!have a test!have a test! mysql 结果中再次查询如何才能实现呢 pc2phone java支持byte[] a = String.getBytes("iso-8859-1");转换吗? c语言中关于对windows命令调用的语法、命令及其格式。 怎么样捕捉数据库连接出错的信息?? 在SQL语句中,如何获得一汉字字段的字节长度,而不是字符长度?如“测试”返回4,不是2 如何建树 winsock.dll提供的都是什么函数?如果它提供的是winsockAPI,那么winsock32。lib提供的又是些什么?它们重复吗? FormatDateTime这个函数的日期间的字符不支持汉字,怎么解决? 关于用JAVA生成GIF的问题?(16M的GIF,256的我已经知道了) 如何在ACCESS李使用SQL? 梦天请进,谢谢! 能不能将对象序列化后存到数据库再取出还原?有没有例子? 分屏的已个视要做成对话框,请指教,顺便告诉我如何给分,只能给这么多 sorry,梦天进来,thanks!! 急!请问怎么在java类里写编译另一个类的语句?? 如何在ACCESS里使用SQL? 谁有BO2K源代码,我愿高分求购.不为别的目的,只为深入学习系统编程 如何实现 调用IE打开一个页面,并且多次调用,只打开一个窗口? 帮我点一下我就给分! 一个简单问题:我在给Access数据表中增加记录,其中一字段是CTime类型,但老是非法操作。调试后错误出现是:return (GetLocalTm(NULL)->tm_year) + 1900 不知如何解决。请各位大师救救我把。 动态的保存datawindow object的问题 怎么给一个(tab control)属性单 的标题栏上给添加一个背景位图呢! 千山一刀之忍者神龟进来拿分!!! 0.04改写成用千分之一作单位的数是什么 圆内有一个最大的正方形,已知正方形的面积为40平方厘米,求阴影部分的面积? 已知m=2*3*4,那么m的全部约数共有()个 vf编程题 求出1到100之间的奇数积,偶数和求出1到100之间的奇数积,偶数和此题为填空题SET TALK OFF_____________________S2=1FOR i= 1 同100 IF _________ S1=SI+i ELSE S2=__________ EN 正方形的面积是40平方厘米,计算阴影部分的面积? C语言编写函数fun,函数的功能是,求1到100之间的偶数之积我没有多少分,实在拿不出分,我明天就用, 0.8计算单位是(),它是由()个这样的计算单位组成的.将它改写成以千分之一为单位的数是 如图,正方形的面积是40平方厘米,求阴影部分的面积一个圆在右下角的4分之1有一个正方形,有一点留在外面)求在外面的面积《可先画图,用算术方法 利用函数fun.把数组9.1.4.2.3.6.5.8.7中偶数删掉,奇数安顺序输出,奇数个数通过函数反回 用VF编程求100到1000以内的奇数之和、偶数之和 一个数由14个百,15个十分之一,14个千分之一组成,这个数是( )有( )个0.001.要说明过程.分析.急`` C语言 已知一个大小为15的数组,随机生成15个100-200之间的数存入该数组中并显示出数组中的偶数已知一个大小为15的数组,随机生成15个100-200之间的数存入该数组中并显示出数组中的偶数 pascal 循环结构计算1+2+3+4.+n之和、奇数和与偶数和.输入格式 Input Format 一个正整数n(n 一个数由15个百和15个十分之一组成,这个数是( ),有( )个0.001? 罗马废墟函数FUN的功能是:把形参a所指数组总的奇数原顺序依次存放到a[0],a[1],a[2].……中,把偶数从数组中除,奇数个数通过函数值返回.例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6 已知300=2*2*3*5*5,则300一共有多少个因数?要说明原因 已知阴影部分的面积是40平方厘米,求空白部分的面积. 7个1、3个十分之一和9个千分之一组成的小数是? 正方形边长10cm,求阴影部分面积? 已知阴影部分正方形的面积是40平方厘米,这个图形中空白部分扇形的面积是( )平方米. 5个十分之一,7个千分之一组成一个小数,这个小数是() 已知300=2*2*3*5*5,则300一共有( )个不同的因数.你是怎样想的? 已知阴影部分的面积是40平方厘米,求空白部分的面积.求算式, 12个一、7个十分之一、5个千分之一组成的小数是什么呢?会的话就写小数和读作 已知300=2*2*3*5*5,则300一共有( )个不同的因数.你是怎样想的? 空白部分的面积比阴影部分的面积大40平方厘米,求阴影部分的面积长:20厘米宽:16厘米 C语言:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n(利用指针函数).#includevoid main(){. 关于x的多项式-3x的平方+2x的二次项系数、一次项系数和常数项分别是( ) 如图,面积为30平方米的大正方形的四个角都是面积为3平方米的小正方形,用计算器求阴影部分的正方形的边长. 一数组,得出出现偶数次的奇数,并排序,用一语言写一函数?给一整型数组,得出出现偶数次的奇数,并排序,用一语言写一函数? 示例:{1,2,8,9,1,12,13,9,13,1} 结果:{9} 不改变0.7的值,改写成已千分之一为单位的数是? 如图,面积为30平方米的大正方形四个角上的小正方形面积均为2平方米利用计算器就a的值(结果精确到0.1m) M和N两个数只含有因数3和5,它们的最大公约数是75,已知A有12个约数,B有10个约数,求M+N (如何解答,) 不改变0.9的值,改写成以千分之一为单位的数是 一个大正方形被分成四个小长方形,其中在阴影部分是一个小正方形,那么它的面积是多少平方米? 已知m、n两个数都只含质因数2和3,它们的最大公约数是18,已知m有12个约数,n有10个约数,则数m与n的和为( 不改变0.6的值,把它改写成以千分之一为单位的数是( ) 如果多项式x^4+4x^2+ax+b能被x^2+2x-3整除,求a与b 输出区间m到n内所有的完全数,完全数就是小于本身的约数的和等于本身,6的约数1 2.3,#include int main ( ){int i,n,m,a,b;i=0;printf("m n");scanf("%d %d",&m,&n);for(a=m;a 把0.68万改写成以“一”为单位的数,写作().不改变0.7的值,改写成以千分之一为单位的数是() 求几道编程题(QUICK BASIC)一.选择题1.一下不合法的整形数是( )A. 1234% B.0% C. -999% D.2.001%2数值24.876表示成科学记数法,错误的是( )A.0.24876E2 B.24.876E1 C.2487.6E-2 D.2.4876E+13.下面几个式子中不 M/\除以N=3,那么M是N的约数吗 五个连续奇数的和是125,这五个连续奇数是多少?五个连续偶数的和是130,这五个连续偶数分别是多少?快快快,跪求!!!!!!1 VB编程 累加运算1~100的和 100的奇数和 偶数和 三个都要 完整的编程式 先求图形中涂色部分的面积,再求小正方形的面积(边长四分米)大长方形的边长是4分米 大正方形边长10CM,小正方形边长2CM,大正方形的面积比小正方形的面积多百分之几 有一个圆环,其一个正方形覆盖在左下角,已知阴影部分面积为40㎡,求圆环面积 先求右面图形中涂色部分的面积,再求小正方形的面积. 4分米 7个百 6个十分之一 5个千分之一组成的是什么数 如图,面积为36㎡的正方形的四个角是四个面积为2㎡的小正方形,求a长 下面的3个正方形大小相等.每个正方形中的涂色部分占正方形面积的几分之几?【下面图和问题】下面的3个正方形大小相等.每个正方形中的涂色部分占正方形面积的几分之几?哪个正方形中的 一个数由5个百,9个千分之一,6个千分之一组成,这个数是? 用小数表示,一个百和五个千分之一 1到20数中奇数有几个?偶数有几个? 将多项式(1-3x+2x^2)^2001*(1+3x-2x^2)^2001*(x^2+x+1)^2001展开后合并同类项,各项系数的和是多少 如图所示,长方形中有两个正方形,已知大正方形的面积为64cm²,小正方形面积为16cm,求阴影部分面积. 7个百和7个千分之一组成的小数是 把0.001改写成用千分之一做单位的数 如图,已知正方形的面积是40平方厘米,求阴影面积? 若m×(m+1)(m+2)(m+3)(m+4)共有40个不同的约数,则m=
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn