本文所说的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,则取消钩选
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 中表示的对象和集合。
l VBProject(工程)
VB工程(或称项目)中包含了所有的代码模块和部件。VB项目可包含若干个VB部件对象。
l VBComponent(部件)
代表包含在工程中的部件对象,如:类模块或标准模块。
部件(VBComponent) 对象的 Type 属性:
常数
|
值
|
描述
|
Vbext_ct_StdModule
|
1
|
标准模块
|
Vbext_ct_ClassModule
|
2
|
类模块
|
Vbext_ct_MSForm
|
3
|
Microsoft 窗体(非ACCESS类窗体)
|
l CodePane(代码窗格)
用 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的可扩展模型部分对象(非全部对象),其它模型对象请参阅帮助。
上一页 下一页