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)
- 合并列数据到一个文本框的示例;...(05.06)
- 通过命令按钮让Access列表...(04.24)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)

学习心得
最新文章
- 仓库管理实战课程(16)-联合查询...(05.07)
- 合并列数据到一个文本框的示例;输出...(05.06)
- 仓库管理实战课程(15)-月度库存...(04.30)
- Access选择打印机、横纵向、纸...(04.29)
- 仓库管理实战课程(14)-出库功能...(04.26)
- 通过命令按钮让Access列表框指...(04.24)
- 仓库管理实战课程(13)-入库功能...(04.21)
- Access控件美化之--美化按钮...(04.19)
- Access多行文本按指定字符筛选...(04.18)
- Microsoft Access数...(04.18)