Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-教程

VBA代码编程方法详解(二)

时 间:2010-10-25 17:04:35
作 者:江羽   ID:3967  城市:南昌
摘 要:VBA代码编程方法详解(第二部分)
正 文:

三、工程对象(Project

表示一个工程。可用 VBProject 对象设置工程的属性、访问 VBComponents 集合以及访问 References 集合。通常我们会用ActiveVBProject返回“工程”窗口中选定的工程,但在实际编程中,无论此工程是否被显式地选定,都只有一个工程是活动的。

3.1判断工程是否锁定

通过工程Protection属性,判断工程锁定状态。工程Protection 属性(只读),指示工程是否处于保护状态。返回的值为一事先定义好的常量,表示工程的状态。

Protection属性常量:

常数

描述

Vbext_pp_none

0

常量代表指定的工程未被保护。

vbext_pp_locked

1

常量代表指定的工程是被锁住。

 3.1.1 判断工程是否锁定自定义函数

'函数功能:判断工程是否锁定

Public Function VBProjectlocked(Optional VBProj As VBProject = Nothing) As Boolean

   Dim Proj   As VBProject

  

'如未指定工程,则为当前工程

   If VBProj Is Nothing Then

      Set Proj = VBE.ActiveVBProject

   Else

      Set Proj = VBProj

   End If

  

'判断工程是否锁定

   If Proj.Protection = vbext_pp_locked Then

      VBProjectlocked = True

   Else

      VBProjectlocked = False

   End If

End Function

3.1.2 调用自定义函数,判断当前工程是锁定示例

   '函数输出为真(True),否则当前工程锁定

If VBProjectlocked = True Then

      MsgBox "工程已锁定"

   Else

      MsgBox "工程未锁定"

   End If

3.2 获得工程名

'获得当前工程名

VBE.ActiveVBProject.Name

 

四、部件对象(VBComponent

代表一个包含在工程中的部件,例如类模块或标准模块。使用 VBComponent 对象访问与部件关联的代码模块CodeModule或改变部件的属性设置。

4.1 添加工程部件

4.1.1向当前工程添加部件公用过程

'***********************************************************************

'公用过程:添加模块或指定名模块

' ComponentType部件类型(可选参数),默认为标准模块

' VBCompName部件名(可选参数),默认不指定部件名

'***********************************************************************

Public Sub AddVBComponents(Optional ComponentType As vbext_ComponentType=1, _

                          Optional VBCompName As String = "")

   Dim VBProj      As VBProject       '申明工程(项目)对象

   Dim VBComps    As VBComponents  '申明部件集合

   '设定为当前工程

   Set VBProj = VBE.ActiveVBProject

设定为当前工程部件集合

   Set VBComps = VBProj.VBComponents

 

 '判断是否指定部件名,未指定则按默认名建立指定类型部件

   If VBCompName = "" Then

      VBComps.Add (ComponentType)

   Else

      VBComps.Add(ComponentType).Name = VBCompName

   End If

End Sub

4.1.2 调用自定义过程,添加标准模块

'例一:以默认名添加标准模块

Call AddVBComponents

 

'例二:以指定名“我的模块”添加标准模块

Call AddVBComponents(, "我的模块")

4.1.3 调用自定义过程,添加类模块

'例一:以默认名添加类模块

Call AddVBComponents2

 

'例二:以指定名“我的类模块”添加标准模块

Call AddVBComponents(2, "我的类模块")

4.1.4 调用自定义过程,添加(MSForm)窗体

'例一:以默认名添加MSForm窗体

Call AddVBComponents3

 

'例二:以指定名“我的窗体”添加MSForm窗体

Call AddVBComponents(3, "我的窗体")

说明:这里窗体是指“Microsoft 窗体”,而非ACCESS通常意义所说的窗体,ACCESS窗体实际为ACCESS类对象,你可以通过CreateForm 方法创建一个ACCESS对象窗体。

  
  上一页 下一页



Access软件网QQ交流群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助