VBScript教程 第九課VBScript過程

NO IMAGE

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 語句進行呼叫時,括號被省略。