科技时代新浪首页 > 科技时代 > 学园 > Visual Basic编程专题 > 正文

用Visual Basic实现Office助手


http://www.sina.com.cn 2005年06月22日 09:21 天极yesky

  作者: 青岛郎锐

  摘要:本文讲述了在Visual Basic 6.0开发环境下在自己的应用程序中对微软代理Active X控件进行编程的一般方法。

  关键字:Visual Basic 6.0、Active X、Agent

  引言

  相信广大的程序设计人员对Microsoft 公司的办公套件Office系列产品一定不会陌生,而且也一定会注意到那个外型古怪的Office助手,当我们需要寻求帮助,按下F1键时它
就会从天而降,为我们进行解答,当完成任务后又会慢慢的缩小直至消失。这无疑比寻常呆板的Windows风格的帮助友善许多。会使用户觉的产品的人机界面更加亲切,如果在我们自己的应用程序中也能实现上述功能无疑会使我们的程序看上去高一个档次。本文就以VB为例对此进行了详细的介绍。

  程序的设计实现

  Microsoft Visual Basic 6.0以其简洁的语言、强大的功能、精美的界面和Visual C++、Delphi、C++Builder等语言一样得到了广泛的应用,尤其是对Active X控件方面的编程非常方便简洁,所以本文示例程序选用VB作为实现语言。

  打开Office目录我们会发现里面有众多的可执行文件和动态连接库以及一些奇怪后缀的文件,而且向Office这么大型的软件一般是要划分为若干个模块的,一个或几个相关功能的文件会单独以文件的形式存盘,在执行时根据需要临时调用执行,所以Office助手应该也不例外,经过寻找,发现后缀为acs的文件的类型说明为Microsoft Agent Character File,表明了是我们所需要的微软代理模块文件。

  用VB新建一个标准EXE文件,按Ctrl+T热键打开"部件"窗口,从中选中Microsoft Agent Control 2.0,并将其新添加的图标从工具栏添加到窗体,之后就可以象使用其他Active X控件一样使用它了,其主要属性有Connected、Index、Left、RaiseRequestError、Tag、Top等,均取其缺省值即可。使用时先将.acs文件装载,然后将其显示并按规定的动作播放即可,首先定义COM接口IAgentCtlCharacterEx和IAgentCtlRequest的对象:

Dim Dot0 As IAgentCtlCharacterEx
Dim AgentRequest As IagentCtlRequest

  然后通过Set语句对其进行设置:

Set AgentRequest = Agent1.Characters.Load("Dot0", "C:\.Logo.acs")
Set Dot0 = Agent1.Characters.Character("Dot0")

  剩下的工作就是调用Dot0对象的 Shou函数将其显示以及Play函数对其进行播放,最终用Hide函数将其隐藏即可:

Dot0.Show (0)
Dot0.Play ("Alert")
Dot0.Hide(0)

  在此"Alert"就是我们将要播放的动作,类似的动作有诸如LookDown、Wave等等很多种,现列表如下请根据需要酌情在程序中选用适当的动作:

用VisualBasic实现Office助手

  小结

  本文所述的方法对所有的Office办公套件中的.acs文件都适用,动作名称也都相一致,可以完全按本文所述代码实现,但对于第三方开发的acs文件,则应当按照其文档的描述对本文代码稍事修改即可,否则有可能会引发不可预料的非法错误的产生。本程序在Windows 2000 Professional + SP4下,由Microsoft Visual Basic 6.0中文版编译通过,由Microsoft Office 2000提供对acs文件的支持。


  点击此处查询全部Visual Basic新闻

评论】【应用软件论坛】【收藏此页】【 】【多种方式看新闻】【下载点点通】【打印】【关闭

 
新 闻 查 询
关键词
热 点 专 题
网友装修经验大全
经济适用房之惑
中美中欧贸易争端
变质奶返厂加工
第8届上海电影节
《头文字D》
百对网友新婚靓照
湖南卫视05超级女声
林苏版《绝代双骄》
 
 


科技时代意见反馈留言板 电话:010-82628888-5828   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2005 SINA Inc. All Rights Reserved

版权所有 新浪网