全部显示

ProcStartLine 属性

       

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 SubFunction 过程。
vbext_pk_Set Property Set 过程。

说明

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

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

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) & "."