VBA代码编程方法详解(三)
时 间:2010-10-25 19:46:46
作 者:江羽 ID:3967 城市:南昌
摘 要:VBA代码编程方法详解(第三部分)
正 文:
4.2 移除工程中部件
'************************************************************************
'公用过程:移除指定部件或删除某类部件
'ComponentType部件类别(可选参数),默认为标准模块
'VBCompName部件名(可选参数),默认不指定部件名
'***********************************************************************
Public Sub RemoveVBComponents(Optional VBCompType As vbext_ComponentType, _
Optional VBCompName As String = "")
Dim VBProj As VBProject '申明工程对象
Dim VBComp As VBComponent '申明部件对象
Dim VBComps As VBComponents '申明部件集合
'设定为当前工程
Set VBProj = VBE.ActiveVBProject
'设定为当前工程部件
Set VBComps = VBProj.VBComponents
'判断是否指定部件名,如未指定则删除所有指定类型部件
If VBCompName <> "" And VBCompType = 0 Then
VBComps.Remove VBComps(VBCompName)
Else
For Each VBComp In VBComps
If VBComp.Type = VBCompType Then
VBComps.Remove VBComps(VBComp.Name)
End If
Next
End If
End Sub
'移除指定所有类模块
Call RemoveVBComponents(vbext_ct_ClassModule)
'移除指定名部件,实例:指定“我的窗体”
Call RemoveVBComponents(, "我的窗体")
4.3 列举部件名及类型信息
'-------------------------------------------------------------------------------
'函数功能:根据所获取部件类型常量值,获得部件类别名
'-------------------------------------------------------------------------------
Function ComponentTypeToString(ComponentType As vbext_ComponentType) As String
Select Case ComponentType
Case vbext_ct_ClassModule
ComponentTypeToString = "类模块"
Case 100
ComponentTypeToString = "其它"
Case vbext_ct_MSForm
ComponentTypeToString = "微软窗体"
Case vbext_ct_StdModule
ComponentTypeToString = "标准模块"
Case Else
ComponentTypeToString = "未知类: " & CStr(ComponentType)
End Select
End Function
'----------------------------------------------------------------------------------------
'函数功能:列出所有部件名及类型
'调 用:ComponentTypeToString 函数,获取部件类型
'----------------------------------------------------------------------------------------
Public Function AllVBComponentsAndType() As String
Dim VBComp As VBComponent '申明工程部件
Dim VBComps As VBComponents '申明部件集合
Dim strComps As String '输出结果
Dim strObjName As String '对象名
Dim strType As String '类型名
Set VBComps = VBE.ActiveVBProject.VBComponents
'遍历部件集合,将部件名及类型值赋值给变量
For Each VBComp In VBComps
strObjName = VBComp.Name
strType = ComponentTypeToString(VBComp.Type)
'如果为其它类型,判断是ACCESS窗体、报表或其它对象
If strType = "其它" Then
If InStr(strObjName, "Form") > 0 Then
strType = "窗体"
ElseIf InStr(strObjName, "Report") > 0 Then
strType = "报表"
Else
strType = "其它"
End If
End If
'将获取的部件名及类型逐行输出
strComps = strComps & strObjName & Space(12) & strType & vbCrLf
Next
AllVBComponentsAndType = strComps '赋值输出
End Function
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)