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

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

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

4.4 判断部件是否存在

4.4.1 判断部件是否存在自定义函数

 

'-----------------------------------------------------------------------

'函数功能:判断指定模块是否存在,存在输出为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

4.4.2判断指定模块是否存在调用示例

   If VBComponentExists("模块1") = False Then

      MsgBox "不存在"

   Else

      MsgBox "存在"

   End If

 

4.5 导入部件文件添加部件

4.5.1 导入部件自定义过程

'导入部件文件添加部件

'输入参数: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

4.5.2 导入部件文件示例

'调用示例:从指定C盘导入部件文件"模块1"添加到当前工程

Call ImportFilesToVBComps("C:\模块1")

说明:导入文件部件如与部件重名,不会覆盖原部件,而是添加序号重新命名。

4.6 导出部件为部件文件

4.6.1 导出部自定义过程

'过程功能:导出部件为部件文件

'输入参数: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

4.6.2 导出部件示例

'调用示例一:指定部件(模块1

Call ExportVBCompsToFiles("模块1","C:\模块1.bas")

 

'调用示例二:通过部件索引导出部件,实例中:索引[1][Form_窗体1]类对象

Call ExportVBCompsToFiles(1,"C:\ Form_窗体1.cls")

说明:你可以通过“部件名”或“索引”来指定需导出部件。

4.6.3 根据部件类型获得输出部件文件后缀名

'根据部件类型,确定输出部件文件后缀名

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交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

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