VBA代码编程方法详解(一)
时 间:2010-10-25 16:54:01
作 者:江羽 ID:3967 城市:南昌
摘 要:VBA代码编程方法详解(第一部分)
正 文:
一、前言
本文所说的VBA代码编程,即通过编程方法创建、删除或编辑VBA工程部件、模块或代码程序对象,还可以通过VBA代码创建新的代码,以此可以实现VBA的二次开发。
VBA代码编程,也就是所谓的VBA可扩展性。要实现VBA扩展功能,或者说实现对VBA代码的编程,我们必须事先完成以下相关设置。
1.1 引用VBA扩展类库(Microsoft Visual Basic For Applications Extensibility 5.3)
在ACCESS 2003中扩展库文件为:VBE6EXT.OLB,你可以在VBE(Visual Basic Editor即VB编辑器)窗口,点菜单 [工具] — [引用],在 [引用对话框] 中钩,来手动引用该扩展类库,你也可以通过代码实现对其的引用。
Dim ref As Reference '申明引用类对象
On Error Resume Next '避免因重复引用造成的错误提示
'通过扩展库标识号,主版本号,次版本号完成引用
Set ref = References.AddFromGuid ("{0002E157-0000-0000-C000-000000000046}", 5, 3)
1.2 需要启用编程方式访问VBA项目(仅在EXCEL中需设定)
在Excel 2003和更早版中,需设定允许对VBA项目的访问,否则将报错。ACCESS则不需对该项进行设定。
点选菜单 [工具](在Excel中,而不是在VBA编辑器中)—[宏]—[安全性],在 [安全对话框]中,单击 [可靠发行商] 页,点选 [信任对于“Visual Basic项目”的访问] 项(见下图)
注册表键值:
HKLM\Software\Microsoft\Office\11.0\Excel\Security\AccessVBOM", 1, "REG_DWORD"
键值为:1,则钩选;0,则取消钩选
二、VBA的可扩展模型对象简介
l Library VBIDE(扩展库)
路径:C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB 描述:Microsoft Visual Basic for Applications Extensibility 5.3
l VBE(VB编辑器)
指VB编辑器,为根对象,其包含所有其它可在 Visual Basic for Applications 中表示的对象和集合。
VB工程(或称项目)中包含了所有的代码模块和部件。VB项目可包含若干个VB部件对象。
l VBComponent(部件)
代表包含在工程中的部件对象,如:类模块或标准模块。
部件(VBComponent) 对象的 Type 属性:
常数 |
值 |
描述 |
Vbext_ct_StdModule |
1 |
标准模块 |
Vbext_ct_ClassModule |
2 |
类模块 |
Vbext_ct_MSForm |
3 |
Microsoft 窗体(非ACCESS类窗体) |
用 CodePane 对象来操作 CodePane 中可视文本的位置或者代码窗格中显示的文本选择。
l CodeModule(代码模块)
代码模块是VB部件VBA源代码,可用 CodeModule 对象来修改(添加、删除、编辑)与部件相关联的代码
CodePane 或CodeModule内程序类别 (prockind)常数:
常数 |
值 |
描述 |
vbext_pk_Proc |
0 |
指定所有过程除了Property 过程。 |
vbext_pk_Let |
1 |
指定一个赋值给属性的过程。 |
vbext_pk_Set |
2 |
指定一个给对象设置引用的过程。 |
vbext_pk_Get |
3 |
指定一个返回属性值的过程。 |
以上为VBA的可扩展模型部分对象(非全部对象),其它模型对象请参阅帮助。
上一页 下一页
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)