ProcStartLine 属性返回一个只读 Long 值,该值标识标准模块或类模块中一个指定过程的起始行。
expression.ProcStartLine(ProcName, ProcKind)
expression 必需。返回“Applies To”列表中的一个对象的表达式。
ProcName 必需 String 型。模块中过程的名称。
ProcKind 必需 vbext_ProcKind 型。是用于指定过程类型的固有常量。该常量可以是下列值之一:
常量 | 说明 |
---|---|
vbext_pk_Get | Property Get 过程。 |
vbext_pk_Let | Property Let 过程。 |
vbext_pk_Proc | Sub 或 Function 过程。 |
vbext_pk_Set | Property Set 过程。 |
ProcStartLine 属性仅在使用 Visual Basic 时才可用。
过程以说明语句和编译常量打头,然后是可用下列一个语句表示的过程定义:
ProcStartLine 属性返回指定过程起始处的行号。过程的起始处可以包含位于过程定义之前的说明语句或编译常量。
若要确定过程定义的起始行,请使用 ProcBodyLine 属性,该属性返回一个以 Sub、Function、Property Get、Property Let 或 Property Set 语句开始的行的行号。
如果过程定义是过程的第一行,则 ProcStartLine 和 ProcBodyLine 属性可以有相同的值。如果过程定义不是过程的第一行,ProcBodyLine 属性值将比 ProcStartLine 属性值大。
如果选中了“过程分隔符”选项,可以更容易确定过程起始的位置。选中该选项之后,在一个过程的结尾和下一个过程的开头之间将有一行间隔。过程分隔符下面的第一行代码(或空行)是下一过程的第一行,该行即为 ProcStartLine 属性的返回值。“过程分隔符”选项位于“选项”对话框中的“编辑器”选项卡上,单击“工具”菜单上的“选项”即可打开该对话框。ProcStartLine 属性不区分 Sub 和 Function 过程,但是区分 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) & "."