ProcStartLine 属性

expandtri全部显示

ProcStartLine 属性返回一个只读 Long 值,该值标识标准模块类模块中一个指定过程的起始行。

expression.ProcStartLine(ProcName, ProcKind)

expression     必需。返回“应用于”列表中的一个对象的表达式。

ProcName     必需 String 型。模块中过程的名称。

ProcKind     必需 vbext_ProcKind 型。是用于指定过程类型的固有常量。该常量可以是下列值之一:

常量

说明

vbext_pk_Get

Property Get 过程。

vbext_pk_Let

Property Let 过程。

vbext_pk_Proc

SubFunction 过程。

vbext_pk_Set

Property Set 过程。

说明

ProcStartLine 属性仅在使用 Visual Basic 时才可用。

过程以说明语句和编译常量打头,然后是可用下列一个语句表示的过程定义:

?Sub 语句。

 

?Function 语句。

 

?Property Get 语句。

 

?Property Let 语句。

 

?Property Set 语句。

ProcStartLine 属性返回指定过程起始处的行号。过程的起始处可以包含位于过程定义之前的说明语句或编译常量。

若要确定过程定义的起始行,请使用 ProcBodyLine 属性,该属性返回一个以 SubFunctionProperty GetProperty LetProperty Set 语句开始的行的行号。

如果过程定义是过程的第一行,则 ProcStartLineProcBodyLine 属性可以有相同的值。如果过程定义不是过程的第一行,ProcBodyLine 属性值将比 ProcStartLine 属性值大。

如果选中了“过程分隔符”选项,可以更容易确定过程起始的位置。选中该选项之后,在一个过程的结尾和下一个过程的开头之间将有一行间隔。过程分隔符下面的第一行代码(或空行)是下一过程的第一行,该行即为 ProcStartLine 属性的返回值。“过程分隔符”选项位于“选项”对话框中的“编辑器”选项卡上,单击“工具”菜单上的“选项”即可打开该对话框。

ProcStartLine 属性不区分 SubFunction 过程,但是区分 Property 过程的每一类型。

示例

下面的示例将显示一条消息,表明特定窗体模块中特定过程的起始位置。

Dim strForm As String

Dim strProc As String

strForm = "Products"

strProc = "Form_Activate"

MsgBox "The procedure " & strProc & " starts on line " & _

Forms(strForm).Module.ProcStartLine(strProc, vbext_pk_Proc) & "."