Microsoft® Visual Basic® Scripting Edition VBScript 過(guò)程 |
VBScript 教程 上一頁(yè) | 下一頁(yè) |
在 VBScript 中,過(guò)程被分為兩類:Sub 過(guò)程和 Function 過(guò)程。Sub 過(guò)程
Sub 過(guò)程是包含在 Sub 和 End Sub 語(yǔ)句之間的一組 VBScript 語(yǔ)句,執(zhí)行操作但不返回值。Sub 過(guò)程可以使用參數(shù)(由調(diào)用過(guò)程傳遞的常數(shù)、變量或表達(dá)式)。如果 Sub 過(guò)程無(wú)任何參數(shù),則 Sub 語(yǔ)句必須包含空括號(hào) ()。下面的 Sub 過(guò)程使用兩個(gè)固有的(或內(nèi)置的)VBScript 函數(shù),即 MsgBox 和 InputBox,來(lái)提示用戶輸入信息。然后顯示根據(jù)這些信息計(jì)算的結(jié)果。計(jì)算由使用 VBScript 創(chuàng)建的 Function 過(guò)程完成。此過(guò)程在以下討論之后演示。
Sub ConvertTemp() temp = InputBox("請(qǐng)輸入華氏溫度。", 1) MsgBox "溫度為 " & Celsius(temp) & " 攝氏度。" End SubFunction 過(guò)程
Function 過(guò)程是包含在 Function 和 End Function 語(yǔ)句之間的一組 VBScript 語(yǔ)句。Function 過(guò)程與 Sub 過(guò)程類似,但是 Function 過(guò)程可以返回值。Function 過(guò)程可以使用參數(shù)(由調(diào)用過(guò)程傳遞的常數(shù)、變量或表達(dá)式)。如果 Function 過(guò)程無(wú)任何參數(shù),則 Function 語(yǔ)句必須包含空括號(hào) ()。Function 過(guò)程通過(guò)函數(shù)名返回一個(gè)值,這個(gè)值是在過(guò)程的語(yǔ)句中賦給函數(shù)名的。Function 返回值的數(shù)據(jù)類型總是 Variant。在下面的示例中,Celsius 函數(shù)將華氏度換算為攝氏度。Sub 過(guò)程 ConvertTemp 調(diào)用此函數(shù)時(shí),包含參數(shù)值的變量被傳遞給函數(shù)。換算結(jié)果返回到調(diào)用過(guò)程并顯示在消息框中。
Sub ConvertTemp() temp = InputBox("請(qǐng)輸入華氏溫度。", 1) MsgBox "溫度為 " & Celsius(temp) & " 攝氏度。" End Sub Function Celsius(fDegrees) Celsius = (fDegrees - 32) * 5 / 9 End Function
給過(guò)程傳遞數(shù)據(jù)的途徑是使用參數(shù)。參數(shù)被作為要傳遞給過(guò)程的數(shù)據(jù)的占位符。參數(shù)名可以是任何有效的變量名。使用 Sub 語(yǔ)句或 Function 語(yǔ)句創(chuàng)建過(guò)程時(shí),過(guò)程名之后必須緊跟括號(hào)。括號(hào)中包含所有參數(shù),參數(shù)間用逗號(hào)分隔。例如,在下面的示例中,fDegrees 是傳遞給 Celsius 函數(shù)的值的占位符:要從過(guò)程獲取數(shù)據(jù),必須使用 Function 過(guò)程。請(qǐng)記住,Function 過(guò)程可以返回值;Sub 過(guò)程不返回值。Function Celsius(fDegrees) Celsius = (fDegrees - 32) * 5 / 9 End Function
調(diào)用 Function 過(guò)程時(shí),函數(shù)名必須用在變量賦值語(yǔ)句的右端或表達(dá)式中。例如:
或Temp = Celsius(fDegrees)調(diào)用 Sub 過(guò)程時(shí),只需輸入過(guò)程名及所有參數(shù)值,參數(shù)值之間使用逗號(hào)分隔。不需使用 Call 語(yǔ)句,但如果使用了此語(yǔ)句,則必須將所有參數(shù)包含在括號(hào)之中。MsgBox "溫度為 " & Celsius(fDegrees) & " 攝氏度。"下面的示例顯示了調(diào)用 MyProc 過(guò)程的兩種方式。一種使用 Call 語(yǔ)句;另一種則不使用。兩種方式效果相同。
請(qǐng)注意當(dāng)不使用 Call 語(yǔ)句進(jìn)行調(diào)用時(shí),括號(hào)被省略。Call MyProc(firstarg, secondarg) MyProc firstarg, secondarg