ProcStartLine 屬性返回一個(gè)只讀 Long 值,該值標(biāo)識(shí)標(biāo)準(zhǔn)模塊或類(lèi)模塊中一個(gè)指定過(guò)程的起始行。
expression.ProcStartLine(ProcName, ProcKind)
expression 必需。返回“應(yīng)用于”列表中的一個(gè)對(duì)象的表達(dá)式。
ProcName 必需 String 型。模塊中過(guò)程的名稱(chēng)。
ProcKind 必需 vbext_ProcKind 型。是用于指定過(guò)程類(lèi)型的固有常量。該常量可以是下列值之一:
常量 |
說(shuō)明 |
vbext_pk_Get |
Property Get 過(guò)程。 |
vbext_pk_Let |
Property Let 過(guò)程。 |
vbext_pk_Proc |
Sub 或 Function 過(guò)程。 |
vbext_pk_Set |
Property Set 過(guò)程。 |
ProcStartLine 屬性?xún)H在使用 Visual Basic 時(shí)才可用。
過(guò)程以說(shuō)明語(yǔ)句和編譯常量打頭,然后是可用下列一個(gè)語(yǔ)句表示的過(guò)程定義:
? | Sub 語(yǔ)句。 |
? | Function 語(yǔ)句。 |
? | Property Get 語(yǔ)句。 |
? | Property Let 語(yǔ)句。 |
? | Property Set 語(yǔ)句。 |
ProcStartLine 屬性返回指定過(guò)程起始處的行號(hào)。過(guò)程的起始處可以包含位于過(guò)程定義之前的說(shuō)明語(yǔ)句或編譯常量。
若要確定過(guò)程定義的起始行,請(qǐng)使用 ProcBodyLine 屬性,該屬性返回一個(gè)以 Sub、Function、Property Get、Property Let 或 Property Set 語(yǔ)句開(kāi)始的行的行號(hào)。
如果過(guò)程定義是過(guò)程的第一行,則 ProcStartLine 和 ProcBodyLine 屬性可以有相同的值。如果過(guò)程定義不是過(guò)程的第一行,ProcBodyLine 屬性值將比 ProcStartLine 屬性值大。
如果選中了“過(guò)程分隔符”選項(xiàng),可以更容易確定過(guò)程起始的位置。選中該選項(xiàng)之后,在一個(gè)過(guò)程的結(jié)尾和下一個(gè)過(guò)程的開(kāi)頭之間將有一行間隔。過(guò)程分隔符下面的第一行代碼(或空行)是下一過(guò)程的第一行,該行即為 ProcStartLine 屬性的返回值?!斑^(guò)程分隔符”選項(xiàng)位于“選項(xiàng)”對(duì)話框中的“編輯器”選項(xiàng)卡上,單擊“工具”菜單上的“選項(xiàng)”即可打開(kāi)該對(duì)話框。
ProcStartLine 屬性不區(qū)分 Sub 和 Function 過(guò)程,但是區(qū)分 Property 過(guò)程的每一類(lèi)型。
下面的示例將顯示一條消息,表明特定窗體模塊中特定過(guò)程的起始位置。
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) & "."