土木在线论坛 \ 建筑设计 \ CAD下载及教程 \ [转帖]MSOffice开发工具--VBA

[转帖]MSOffice开发工具--VBA

发布于:2004-06-27 20:37:27 来自:建筑设计/CAD下载及教程 [复制转发]
一、VBA的发展过程
  在Office中包含着一种加强Office功能的语言,即为Basic语言。经过发展,在Office97 中,Word、Excel、Access、PowerPoint四个软件都有了自己的程序设计语言,分别称为Microsoft WordVisualBasic、MicrosoftExcelVisualBasic、MicrosoftAccessVisualBasic、Microsoft PowerPointVisualBasic。通常统一称为VBA。在Outlook中的开发语言为VisualBasicScripting Edition,而不是一个完全的VBA。不过,VisualBasicScriptingEdition是VBA的一个较小 的子集,它与VBA兼容。当然,有一些VBA支持的特性,VisualBasicScriptingEdition并不 支持。
二、VBA开发特点
  1.MicrosoftOffice对象模型

  VisualBasic是一种面向对象的开发语言。VBA 将MicrosoftOffice中的每一个应用程序都看成一个对象。每个应用程序都由各自的Application 对象代表。

  在Word中,Application对象中包容了Word的菜单栏、工具栏、Word命 令等的相应对象,以及文档对象等等。菜单栏对象中包容了所有的菜单及菜单命令。工具栏对 象中包容了各种命令按钮。文档对象中则包容了所有的文字、表格、图像等文档组成部分的相 应对象。文档对象是MicrosoftWordVisualBasic中的主要对象。

  在Excel中, Application对象中包容了Excel的菜单栏、工具栏等的相应对象,以及工作表对象和图表对 象等等。工作表对象和图表对象是MicrosoftExcelVisualBasic中的主要对象。

  在Access 中,Application对象中包容了Access的菜单栏、工具栏等的相应对象,以及报表对象和窗体 对象等等。报表对象和窗体对象是MicrosoftAccessVisualBasic中的主要对象。

  在Power Point中,Application对象中包容了PowerPoint的菜单栏、工具栏等的相应对象,以及演 示文档对象等等。演示文档对象是MicrosoftPowerPointVisualBasic中的主要对象。

  2. 基于对象的开发

  (1)使用MicrosoftOffice对象

  Office已经具有 了强大的功能,Office的对象模型使得可以使用MicrosoftOffice中的对象来完成自己的工 作。程序员可以不必浪费时间开发自己的组件,只需充分地利用Office的功能。Office开发 者可以在Office的基础上进行自己的开发,而不必一切从头开始。例如,Office开发者可以使 用Word的拼写检查器,而不必自己来开发一个拼写检查器。

  (2)用户创建对象

  Office 开发者可以在Office对象 唇ㄗ约旱亩韵螅嚎梢源唇ㄗ约旱牟说ズ凸ぞ呃福砑拥絆ffice 的对象集合中;可以创建一个窗体,并且在窗体中添加控件,等等。例如,在Word中,可以往自 动更正的词库中添加自己的词条。

  3.VBA开发Office的功用

  有人 也许觉得Office的功能已经足够强大了,是否还有必要使用VBA来开发Office。的确,即使根 本不用编写一句语句,Office就可以完成用户所能遇到的各种任务。但是,人们对效率的追求 是永不满足的,这就是使用VBA来开发Offic的原动力。

  (1)VBA可以使Office任 务自动化

  在使用Office的过程中,往往要遇到一些重复性的系列工作,特别是在 处理大批量的文档或数据时。通过录制宏或使用VisualBasic编写宏,使一系列的工作只需 要一个指令便能完成,这就成倍地提高了工作效率。

  (2)VBA可以定制Office满 足自己的需要

  Office是一个功能异常庞杂的软件包,对某一用户来所说,许多 命令可能一辈子也用不着,而另外一些命令可能得经常使用。有时候,功能复杂反而显得多余。

  另外,Office的外观显得异常的繁杂,许多用户面对如此繁杂的界面往往手足无 措。

  通过VBA可以设置自己的界面,把自己经常用到的菜单命令和工具栏放置到 显眼的地方,隐藏一些不常用的菜单或工具栏,并且,可以把自己所编写的宏设置为菜单命令 或设置为工具栏中的命令按钮,方便了使用。

  并且,可以根据自己的需要来定制Office 的功能,满足自己的需要。

  (3)VBA可以增强Office的功能

  Office 的功能虽然强大,但它不可能考虑到所有情况,而且情况是千变万化的,各种情况都有特定的 要求。

  通过VBA可以增强Office的功能,以处理各种各样的任务。例如,可以设置Word 拼写检查的词库;可以往词库中添加新的词语;可以设置自动更正,设置自己经常遇到的误拼 等。

  (4)VBA可以增强Office与用户的交互

  在Office中,可以利用Visual Basic创建窗体,并在窗体中添加控件等用户接口元素。通过用户接口,应用程序可以得到用 户的请求,并对其作出响应。

  (5)VBA可以集成Office的功能

  Office 不是几个软件的简单组合,而成为一个有机的整体发挥巨大的作用。VisualBasic提供了集 成Office的功能的一种手段。

  通过OLE(对象的链
这个家伙什么也没有留下。。。

CAD下载及教程

返回版块

52.08 万条内容 · 666 人订阅

猜你喜欢

阅读下一篇

[转帖]应用Automation技术进行AutoCad的开发

Autodesk公司的AutoCad软件广泛的应用于建筑、机械等设计领域。众所周知,AutoCad是一种极其灵活的应用系统,用户可以通过编程的方式对其进行定制。在以往的AutoCad系统开发中,最常用的是AutoLisp和ADS,但AutoLisp不如编程语言方便,在开发较大项目时力不从心,而ADS虽由功能强大的C语言编制,但较为复杂,不适应当前可视化编程的需要。幸运的是,在最新推出的AutoCad r14版本中,Autodesk公司对AutoCad本身加入了ActiveX自动化服务功能(ActiveX Automation server capabilities),使得用户可以通过可视化编程工具,如Visual Basic、Delphi等对AutoCad进行系统开发,极大的提高了工作效率。在最近为建筑公司开发的一套建筑施工三维演示系统中,我们采用AutoCad为平台,Visual Basic为编程工具,成功的应用ActiveX对AutoCad进行了二次开发。本文将从编程实践的角度对使用VB对AutoCad控制的技术及遇到的问题进行简要的说明。

回帖成功

经验值 +10