设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2474|回复: 1
打印 上一主题 下一主题

[Access本身] VBA介绍

[复制链接]
跳转到指定楼层
1#
发表于 2009-2-10 21:34:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ACMAIN_CHM 于 2009-2-10 21:44 编辑

在MSDN (Microsoft Developer Network) 发现一篇文章,节选了一下分享给大家。

Microsoft Visual Basic for Applications (VBA) 是从完整的 Microsoft Visual Basic 语言派生的,它包含在许多产品中。最明显的是,它是所有 Microsoft Office 应用程序以及其他产品(如 Microsoft Visio 和 Great Plains 软件)的主要编程语言。

对象模型一览
VBA 旨在集成到其他应用程序中。它允许用户方便地使用其父语言 Visual Basic 的功能,还允许用户访问外部函数和应用程序。要了解如何最大限度地发挥 VBA 的作用,一定要了解对象模型的概念。

术语对象模型 是指应用程序的公开函数(属于可从代码内访问的应用程序的函数)。这些函数是作为一组对象公开的,其中的每个对象都具有属性、方法和事件。对象模型包含一组可用于创建对象的定义或类。

您可以将类想象为设计。请考虑架构师的房屋规划。这些规划定义房屋的外观以及它应该执行的功能,但是在建筑师建造房屋之前,该规划除了描述房屋之外不做任何事情。在建筑师建造房屋时,他或她就是在创建架构师设计的实例。尽管建筑师可能会在构建房屋开发时创建该设计的许多实例,但是在某个房屋(实例)构建之后,它就会独立于开发中的任何其他房屋。

对象模型在 VBA 中的使用方法类似于使用规划建造房屋的方法。选择所需的函数集,然后创建对它们进行定义的类的实例。为此,请使用 VBA 关键字和语法。

引用对象
要在 VBA 中使用对象,必须添加对它们的引用。这会告诉 VBA 有一组特定的对象存在,以及为这些对象定义了哪些类。要添加引用,请启动 VBA 编辑器并依次选择 Tools 和 References。屏幕上会显示一列对象。要添加对对象定义的引用,只需选中列表中相应项目旁边的复选框。

通过查看帮助文件,通常可以找到为执行某些操作而需要设置哪些引用。对于本章和下一章中的示例来说,一些重要的引用是对其他 Office 应用程序的对象模型的引用。这些引用以下列名称出现在列表中:
Excel_Microsoft Excel 11.0 Object Library
Word_Microsoft Word 11.0 Object Library
要从另一个应用程序访问 Outlook 功能,请设置对 Outlook 对象模型的引用:Outlook_Microsoft Outlook 11.0 Object Library
对于数据访问,使用 ActiveX 数据对象 (ADO) 非常有用:
数据访问_Microsoft ActiveX Data Objects 2.7 Library
可以使用许多 ADO 对象模型;最新的对象模型是 ADO 2.8

声明和实例化对象
要创建对象的实例,应首先使用 Dim 语句来声明对象。该语句可设置该对象类型变量的维数。例如,以下语句可声明一个 Word.Application 类型的新变量:

Dim objWord as Word.Application

在声明某个对象以后,您可以使用 Set 和 New 关键字来创建该对象的实例。您先前声明的变量会指定给该实例,之后您就可以开始使用该实例了:

Set objWord = New Word.Application

现在,您可以通过新定义的实例来访问 Word.Application 对象的所有函数和属性。

完全揭密提示:处置实例
当您创建某个对象(特别是外部应用程序对象)的实例时,请记住在使用完之后处置它。可以通过将对象变量设置为 Nothing 来处置它:
Set objWord = Nothing
当所有的对象引用都超出范围时,VBA 将自动清除并处置它们,但是这通常不会发生。随后会留下没有关联项但仍然占用内存的对象。如果所创建的对象是占用大量内存的大型应用程序(如 Microsoft Word),则这种情况十分槽糕。

属性、方法和事件
属性 是与对象关联的值。对象名称就是属性的一个示例。属性可以是只读的,也可以是读写的。您通常使用属性来告诉某个对象如何表示自身或者如何操作。
方法 与代码中的函数等效,但是它属于特定对象,并且只能通过该对象访问(而不是可通用)。您可以调用对象的方法来执行任务(并可能会返回结果)。方法可以使用参数。事件 由已经实例化的对象使用,以告诉应用程序在正常程序流外部发生的事情。大量 Microsoft Windows 体系结构都基于事件(即,与 Windows 相关的消息)的可用性。



******************
*  一切皆有可能  *
******************

.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖1 订阅订阅
2#
发表于 2009-2-11 08:24:28 | 只看该作者
看完顶一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-28 09:44 , Processed in 0.117470 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表