设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 14224|回复: 21
打印 上一主题 下一主题

VBA代码编程方法详解

[复制链接]
跳转到指定楼层
1#
发表于 2010-10-31 14:57:20 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 tanhong 于 2010-10-31 19:40 编辑

一、前言
  本文所说的VBA代码编程,即通过编程方法创建、删除或编辑VBA工程部件、模块或代码程序对象,还可以通过VBA代码创建新的代码,以此可以实现VBA的二次开发。
  VBA代码编程,也就是所谓的VBA可扩展性。要实现VBA扩展功能,或者说实现对VBA代码的编程,我们必须事先完成以下相关设置。

1.1
引用VBA扩展类库(Microsoft Visual Basic For Applications Extensibility 5.3
  在ACCESS 2003中扩展库文件为:VBE6EXT.OLB,你可以在VBEVisual Basic EditorVB编辑器)窗口,点菜单 [工具] [引用],在 [引用对话框] 中钩,来手动引用该扩展类库,你也可以通过代码实现对其的引用。

  1. Dim ref As Reference
  2. '申明引用类对象
  3. On Error Resume Next '避免因重复引用造成的错误提示
  4. '通过扩展库标识号,主版本号,次版本号完成引用
  5. 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
VBEVB编辑器)
VB编辑器,为根对象,其包含所有其它可在 Visual Basic for Applications中表示的对象和集合。

l
VBProject(工程)
VB工程(或称项目)中包含了所有的代码模块和部件。VB项目可包含若干个VB部件对象。

l
VBComponent(部件)
代表包含在工程中的部件对象,如:类模块标准模块部件(VBComponent 对象的 Type属性:
常数描述
Vbext_ct_StdModule1标准模块
Vbext_ct_ClassModule2类模块
Vbext_ct_MSForm3Microsoft 窗体(非ACCESS类窗体)

l
CodePane(代码窗格)
CodePane对象来操作 CodePane中可视文本的位置或者代码窗格中显示的文本选择。

l
CodeModule(代码模块)
代码模块是VB部件VBA源代码,可用 CodeModule对象来修改(添加、删除、编辑)与部件相关联的代码CodePane CodeModule内程序类别 prockind)常数:
常数描述
vbext_pk_Proc0指定所有过程除了Property 过程。
vbext_pk_Let1指定一个赋值给属性的过程。
vbext_pk_Set2指定一个给对象设置引用的过程。
vbext_pk_Get3指定一个返回属性值的过程。
以上为VBA的可扩展模型部分对象(非全部对象),其它模型对象请参阅帮助。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享分享 分享淘帖 订阅订阅
22#
发表于 2015-11-29 21:52:35 | 只看该作者
想了解一下,谢谢版主
21#
发表于 2014-12-23 00:14:18 | 只看该作者
最近在学这个,来看看高手的。
20#
发表于 2011-7-19 21:02:59 | 只看该作者
谢谢楼主提供学习资料
19#
发表于 2010-12-14 23:19:31 | 只看该作者
高手,谢谢
18#
发表于 2010-11-8 20:05:48 | 只看该作者
好贴子

点击这里给我发消息

17#
发表于 2010-11-2 21:35:59 | 只看该作者
好贴子!
16#
发表于 2010-10-31 19:15:40 | 只看该作者
很不错的教程,谢谢江主!
15#
发表于 2010-10-31 18:48:04 | 只看该作者
强贴,顶起。
跟着版主学习。
14#
 楼主| 发表于 2010-10-31 15:54:34 | 只看该作者
很期待老大的新作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 04:28 , Processed in 0.098637 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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