VBA代码编程方法详解(四)
时 间:2010-10-26 00:00:00
作 者:江羽 ID:3967 城市:南昌
摘 要:VBA代码编程方法详解(第四部分)
正 文:
4.4 判断部件是否存在
'-----------------------------------------------------------------------
'函数功能:判断指定模块是否存在,存在输出为True
'-----------------------------------------------------------------------
Public Function VBComponentExists(ByVal VBCompName As String) As Boolean
Dim VBProj As VBProject
On Error Resume Next
Set VBProj = VBE.ActiveVBProject
'存在输出为True,否则为False
VBComponentExists = CBool(Len(VBProj.VBComponents(VBCompName).Name))
End Function
If VBComponentExists("模块1") = False Then
MsgBox "不存在"
Else
MsgBox "存在"
End If
4.5 导入部件文件添加部件
'导入部件文件添加部件
'输入参数:FileName(字符串变量) 指示欲添加部件的路径及文件名
Public Sub ImportFilesToVBComps(FileName As String)
Dim VBProj As VBProject
Dim VBComps As VBComponents
On Error Resume Next
Set VBProj = VBE.ActiveVBProject
Set VBComps = VBProj.VBComponents
'导入指定部件文件,添加部件
VBComps.Import (FileName)
End Sub
'调用示例:从指定C盘导入部件文件"模块1"添加到当前工程
Call ImportFilesToVBComps("C:\模块1")
说明:导入文件部件如与部件重名,不会覆盖原部件,而是添加序号重新命名。
4.6 导出部件为部件文件
'过程功能:导出部件为部件文件
'输入参数:FileName(字符串变量) 用来指定部件输出为文件的文件名及导出路径
' CompsFile(Variant) 可以是部件名或是部件索引,用以指定欲导出部件
Public Sub ExportVBCompsToFiles(CompsFile As Variant, FileName As String)
Dim VBProj As VBProject
Dim VBComps As VBComponents
On Error Resume Next
Set VBProj = VBE.ActiveVBProject
Set VBComps = VBProj.VBComponents(CompsFile)
'导出部件为部件文件
VBComps.Import (FileName)
End Sub
'调用示例一:指定部件(模块1)
Call ExportVBCompsToFiles("模块1","C:\模块1.bas")
'调用示例二:通过部件索引导出部件,实例中:索引[1]为[Form_窗体1]类对象
Call ExportVBCompsToFiles(1,"C:\ Form_窗体1.cls")
说明:你可以通过“部件名”或“索引”来指定需导出部件。
'根据部件类型,确定输出部件文件后缀名
Public Function GetFileExtension(VBComp As VBIDE.VBComponent) As String
Select Case VBComp.Type
Case vbext_ct_ClassModule
GetFileExtension = ".cls"
Case vbext_ct_Document
GetFileExtension = ".cls"
Case vbext_ct_MSForm
GetFileExtension = ".frm"
Case vbext_ct_StdModule
GetFileExtension = ".bas"
Case Else
GetFileExtension = ".bas"
End Select
End Function
说明:导出文件名要根据不同部件类型,指定后缀名,见下表:
部件对象 |
后缀名 |
描述 |
ACCESS类对象 |
cls |
通常所说的“窗体”或“报表”对象等。 |
类模块 |
cls |
含有类定义的模块。 |
标准模块 |
bas |
只包含过程、类型以及数据的声明和定义的模块。 |
窗体 |
frm |
指微软窗体,而非ACCESS类对象窗体。 |
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)