VBScript教程 第九課VBScript過程
2020-07-26 12:14:53
供稿:網友
VB教程 > VBScript過程
過程分類
在 VBScript 中,過程被分為兩類:Sub 過程和 Function 過程。
Sub 過程
Sub 過程是包含在 Sub 和 End Sub 語句之間的一組 VBScript 語句,執行操作但不返回值。Sub 過程可以使用參數(由調用過程傳遞的常數、變量或表達式)。如果 Sub 過程無任何參數,則 Sub 語句必須包含空括號 ()。
下面的 Sub 過程使用兩個固有的(或內置的)VBScript 函數,即 MsgBox 和 InputBox,來提示用戶輸入信息。然后顯示根據這些信息計算的結果。計算由使用 VBScript 創建的 Function 過程完成。此過程在以下討論之后演示。
Sub ConvertTemp()
temp = InputBox("請輸入華氏溫度。", 1)
MsgBox "溫度為 " & Celsius(temp) & " 攝氏度。"
End Sub
Function 過程
Function 過程是包含在 Function 和 End Function 語句之間的一組 VBScript 語句。Function 過程與 Sub 過程類似,但是 Function 過程可以返回值。Function 過程可以使用參數(由調用過程傳遞的常數、變量或表達式)。如果 Function 過程無任何參數,則 Function 語句必須包含空括號 ()。Function 過程通過函數名返回一個值,這個值是在過程的語句中賦給函數名的。Function 返回值的數據類型總是 Variant。
在下面的示例中,Celsius 函數將華氏度換算為攝氏度。Sub 過程 ConvertTemp 調用此函數時,包含參數值的變量被傳遞給函數。換算結果返回到調用過程并顯示在消息框中。
Sub ConvertTemp()
temp = InputBox("請輸入華氏溫度。", 1)
MsgBox "溫度為 " & Celsius(temp) & " 攝氏度。"
End Sub
Function Celsius(fDegrees)
Celsius = (fDegrees - 32) * 5 / 9
End Function
過程的數據進出
給過程傳遞數據的途徑是使用參數。參數被作為要傳遞給過程的數據的占位符。參數名可以是任何有效的變量名。使用 Sub 語句或 Function 語句創建過程時,過程名之后必須緊跟括號。括號中包含所有參數,參數間用逗號分隔。例如,在下面的示例中,fDegrees 是傳遞給 Celsius 函數的值的占位符:
Function Celsius(fDegrees)
Celsius = (fDegrees - 32) * 5 / 9
End Function
要從過程獲取數據,必須使用 Function 過程。請記住,Function 過程可以返回值;Sub 過程不返回值。
在代碼中使用 Sub 和 Function 過程
調用 Function 過程時,函數名必須用在變量賦值語句的右端或表達式中。例如:
Temp = Celsius(fDegrees)
或
MsgBox "溫度為 " & Celsius(fDegrees) & " 攝氏度。"
調用 Sub 過程時,只需輸入過程名及所有參數值,參數值之間使用逗號分隔。不需使用 Call 語句,但如果使用了此語句,則必須將所有參數包含在括號之中。
下面的示例顯示了調用 MyProc 過程的兩種方式。一種使用 Call 語句;另一種則不使用。兩種方式效果相同。
Call MyProc(firstarg, secondarg)
MyProc firstarg, secondarg
請注意當不使用 Call 語句進行調用時,括號被省略。