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)
- 合并列数据到一个文本框的示例;...(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)