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

VB如何调用 Office

HTML文档下载 WORD文档下载 PDF文档下载
VB如何调用 Office
调用Office97技巧

  VB不能像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

'调用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


调用Excel 97

  使用Excel Sheet对象的技术可以处理可变数量的数据,并将结果最后送到你的Visual Basic应用程序中。例子如下:

  新建一个工程并在新建的窗体上放置两个TextBox和一个CommandButton及六个Label。
  程序代码如下:

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”单元格中,最后输出。
研发周报:Mt.Gox破产,都是错误编程惹的祸 数据挖掘+人工智能,教育定制化下的学霸量产 通过700合作伙伴的进一步细分,Google变得越来越像微软 一周热点:高薪必备:Hadoop求职者的6大攻略 谷歌Android主管:两周内为开发者推出可穿戴设备SDK 【OSTC讲师专访】魏子钧: “中国式开源”没有“然后” 揭秘CarPlay欲将颠覆汽车产业的真相 联想王岳源:利用Web App推动互联网转型 IT经理人:提高团队工作效率的11个方法 30美元一小时,数据科学家的收入是否太低? 选择Go语言的12个理由 动鱼数码携三款大作参战Unity游戏及应用大赛 从Google、Apple、Dropbox、Twitter和Square学到的管理哲学 软件开发就像炒股,关键看你怎么选股票! iOS 7.1正式版:新增CarPlay连接功能、完美支持iPhone 4 【OSTC讲师专访】马全一:Docker,Hadoop的竞争者来了! 福布斯:全球那些富可敌国的科技大佬们 抢工作、争资源,如此聪明的AI你拿什么阻止? iUI:移动Web应用开发必备的开源框架 支持iOS 7.1!苹果发布Xcode 5.1更新 视频云将成为2014年乐视新的发力点 3月12日:万维网迎来理念诞生25周年 《近匠》云适配CEO陈本峰:跨屏移动,曲线一样救国 Intel陈荣坤:赢取移动市场的几个先决条件 而立之年,开发者在害怕什么? 首席工程师揭秘:LinkedIn大数据后台是如何运作的 年交易额1800亿美元,揭秘PayPal成功背后的三大热门技术 微软妥协Android?向该平台推开源Office 365 SDK 中国云计算大会PPT集萃(一):众多名家分享技术挑战与行业趋势 速度是现在的10000倍,出自物理学家之手的新型电脑 逗你玩?淘宝开放平台从4月1起开始全面收费 如何判断commondialog.showsave ,用户是按了确定,还是取消按钮? 我最近编写一个DLL,用来实现ftp功能,使用了delphi中的nmftp控件,结束调用后总出现莫名其妙的内存错误。请高手指教! 请问哪里有win2000 server的软件下呀?迫切需要,恳请各位能帮忙!谢谢! 面试时问主考官什么样的问题算有水平? 我枚举一个外部程序的子窗体,可是却只看到了TDXDraw,我怎么样才能得到TDXDraw中更多的信息呢? 帶一個checkbox的list應該怎麼做? 扫描程序如何循环处理一段IP地址? 数据库中图片如何调用? 如下错误是什么意思,如果解决 一个关于SQL的问题 残啊?都要计算机专业毕业的。。。。。 Miscrosoft Scrioting Library是何东东?Scrrun.dll上那去弄? 如何让softice支持usb鼠标,键盘 多线程程序中使用采用单线程编译参数编译的DLL,会有什么后果? 很多on error goto ... 很简单,有NT4.0或XP的朋友一看就知道。在线等待 手工配置Grub:希望能对大家有所帮助 新显卡驱动For Linux Where download? ADO问题?????????????/ 请问c++的handle class是什么东东呀 怎么textBox控件不可以使用 \n,\r等语句?????? CEdit疑问 急切在线等:打包时出现的问题! 今天我生日,放分!!! 网络财务系统管理信息系统源代码销售 pb8的序列号问题!............................在线等待!!! 在javscript里面怎么判断一个变量(var定义的)是数字? 在线!!!哪位知道好的关于DSP的论坛? 请教高手,如何编程实现一台计算机通过拨号(modem)连接到对方计算机,并实现文件传输? ■■■有没有右键菜单也像VS.NET风格的???■■■ 有没有现成控件,实现EXCELL式的编辑功能 关于BCB中开发DirectDraw的问题 诚聘高手开发电子辞典? 请问一下了dbeng7 -Q的有关事项了? 高手请拉兄弟一把:TField 有一个OnValidate事件,可用它来校验,能否利用它来替换? 怎样把DataSet里面的数据写入一个Excel和Access文件里面? DX全屏模式下如何显示MFC控件? 关于保存对话框的问题,请教高手,谢 (简单问题送分)如何得到select语句得到的数局条数??? 谁能答出来?给分500!!! 很奇怪的问题了 c/s模式,后台是sql server 关于保存对话框的问题,请教高手,谢 类的定义问题 怎样将十进制数转换成十六进制数? 用DataGrid作分页显示,我想让鼠标移到某行时,这行就改变颜色?具体该怎么办? 版主,请进,帮我结贴,沉年老事,我不想再提,越提越伤心,最好帮我删了。 pcgenius(superj) ,你在吗?能告诉我你的QQ吗? 请问我在win2000专业版里装了asa 7可是他的服务器manage为什么用不了呀? 在PL/SQL中这个SQL语句为何不对 用水晶报表实现。怎么样在一个坐标系内画两个图?比如线图和条形图。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘