VBA代码编程方法详解.docx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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的可扩展模型对象简介 ??Library VBIDE(扩展库)路径:C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB描述:Microsoft Visual Basic for Applications Extensibility 5.3??VBE(VB编辑器)指VB编辑器,为根对象,其包含所有其它可在 Visual Basic for Applications中表示的对象和集合。??VBProject(工程)VB工程(或称项目)中包含了所有的代码模块和部件。VB项目可包含若干个VB部件对象。??VBComponent(部件)代表包含在工程中的部件对象,如:类模块或标准模块。部件(VBComponent) 对象的 Type属性:常数值描述Vbext_ct_StdModule1标准模块Vbext_ct_ClassModule2类模块Vbext_ct_MSForm3Microsoft 窗体(非ACCESS类窗体)??CodePane(代码窗格)用 CodePane对象来操作 CodePane中可视文本的位置或者代码窗格中显示的文本选择。?CodeModule(代码模块)代码模块是VB部件VBA源代码,可用 CodeModule对象来修改(添加、删除、编辑)与部件相关联的代码CodePane 或CodeModule内程序类别 (prockind)常数:常数值描述vbext_pk_Proc0指定所有过程除了Property 过程。vbext_pk_Let1指定一个赋值给属性的过程。vbext_pk_Set2指定一个给对象设置引用的过程。vbext_pk_Get3指定一个返回属性值的过程。以上为VBA的可扩展模型部分对象(非全部对象),其它模型对象请参阅帮助。三、工程对象(Project)  表示一个工程。可用 VBProject对象设置工程的属性、访问 VBComponents集合以及访问 References集合。通常我们会用ActiveVBProject返回“工程”窗口中选定的工程,但在实际编程中,无论此工程是否被显式地选定,都只有一个工程是活动的。3.1判断工程是否锁定 通过工程Protection属性,判断工程锁定状态。工程Protection属性(只读),指示工程是否处于保护状态。返回的值为一事先定义好的常量,表示工程的状态。Protection属性常量:常数值描述Vbext_pp_none0常量代表指定的工程未被保护。vbext_pp_locked1常量代表指定的工程是被锁住。3.1.1 判断工程是否锁定自定义函数函数功能:判断工程是否锁定Public Function VBProjectlocked (Optional VBProj As VBProject = No

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档