Office中国论坛/Access中国论坛
标题: [原创]获得过程的类型!版主高手请看有没有这样的属性 [打印本页]
作者: wang1999 时间: 2004-12-28 06:05
标题: [原创]获得过程的类型!版主高手请看有没有这样的属性
'--------------------------------------------------
' Function: GetProcedureType -- 获得过程类型
' Purpose: 目的或用途
' Input: 输入参数 [in]Byval [out]Byref
' [in] -- ProcedureName: String 过程名称
' Content: Non
' Information:
' 编写: wang1999 2004/12/27 说明: 因为VEB类没有提供过程的类型属性函数,所以写一个!---不知还是我没找到
' 修改: wang1999 2004/12/27 说明:
'--------------------------------------------------
Public Function GetProcedureType(ByVal ProcedureName As String) As Long
Dim lngProcType As Long, lngProcLines As Long
Const vbext_pk_Get = 3 ' 指定一个返回属性值的过程。Property Get 过程。
Const vbext_pk_Set = 2 ' 指定一个给对象设置引用的过程。Property Set 过程。
Const vbext_pk_Let = 1 ' 指定一个赋值给属性的过程。Property Let 过程。
Const vbext_pk_Proc = 0 ' 指定所有过程除了Property 过程。Sub 或 Function 过程。
Const lngFoundErr = 4 ' 返回错误
On Error Resume Next ' 设置错误陷井
lngProcType = vbext_pk_Proc ' 赋值:依最常见至最不常见类型设置
lngProcLines = Application.VBE.ActiveCodePane.CodeModule.ProcCountLines(ModulName, lngProcType)
If err.Number > 0 Then
err.Clear: lngProcType = vbext_pk_Get '代码清除;重新赋值
lngProcLines = Application.VBE.ActiveCodePane.CodeModule.ProcCountLines(ModulName, lngProcType)
If err.Number > 0 Then
err.Clear: lngProcType = vbext_pk_Let '代码清除;重新赋值
lngProcLines = Application.VBE.ActiveCodePane.CodeModule.ProcCountLines(ModulName, lngProcType)
If err.Number > 0 Then
err.Clear: lngProcType = vbext_pk_Set '代码清除;重新赋值
lngProcLines = Application.VBE.ActiveCodePane.CodeModule.ProcCountLines(ModulName, lngProcType)
End If
End If
End If
If err.Number > 0 Then ' 如果发生其它错误(一般为过程名错误),返回给用户
lngProcType = lngFoundErr
End If
GetProcedureType = lngProcType
End Function
[此贴子已经被作者于2004-12-27 22:31:16编辑过]
作者: wang1999 时间: 2004-12-28 06:10
因为近开发VBE的增强插件,因为用到ProcCountLines……等属性,因为要设置ProcKind(过程类型常量),在帮助中找了半天没发现,所有自己写一个!---不知还是我没找到
以上为代码,请大家参考.
作者: wang1999 时间: 2004-12-28 06:29
请教各位版主高手,在VBE外接程序模块中到底有没有获得过程的类型属性呀?
[此贴子已经被作者于2004-12-27 22:30:08编辑过]
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |