Microsoft® Visual Basic® Scripting Edition VBScript 程序 |
VBScript 教學 上一頁 | 下一頁 |
VBScript 有二種不同的程序:Sub 程序和 Function 程序。Sub 程序
一個 Sub 程序是指一連串 VBScript 陳述式,它由 Sub 和 End Sub 陳述式所包圍,但執行後不傳回值。Sub 程序可以代入引數(由呼叫的程序傳過來的常數、變數、或運算式)。若 Sub 程序不含任何引數,則須在 Sub 陳述式加上一個空括弧 ()。下面的 Sub 程序使用二個內建的 VBScript 函數, MsgBox 和 InputBox,來顯示一些資訊給使用者。再根據這些資訊來計算結果。這些計算是使用一個 VBScript 的 Function 程序來完成的。在接下來的討論之後,會列出這個 Function 程序。
Sub ConvertTemp() temp = InputBox("Please enter the temperature in degrees F.", 1) MsgBox "The temperature is " & Celsius(temp) & " degrees C." End SubFunction 程序
一個 Function 程序是指一連串 VBScript 陳述式,它由 Function 和 End Function 陳述式所包圍。Function 程序與 Sub 程序相似,但它會於執行後傳回值。Function 程序可以代入引數(由呼叫的程序傳過來的常數、變數、或運算式)。若 Function 程序不含任何引數,則需在 Function 陳述式加上一個空括弧 ()。Function 把傳回值指定給程序中的一個或多個陳述式。一般 Function 的傳回型態是 Variant。在下面的例子中,Celsius 函數是把華氏的度數轉成攝氏。當 ConvertTemp Sub 程序呼叫此函數時,把帶有引數值的變數傳給函數。而計算後的結果會傳回給呼叫的程序,並顯示在訊息方塊中。
Sub ConvertTemp() temp = InputBox("Please enter the temperature in degrees F.", 1) MsgBox "The temperature is " & Celsius(temp) & " degrees C." End Sub Function Celsius(fDegrees) Celsius = (fDegrees - 32) * 5 / 9 End Function
每一個資料都是透過引數傳給程序的。引數可當成是預留給傳送到程序的資料位置。您可以用任何有效的變數名稱來作為參數命名。無論您是建立一個 Sub 陳述式或 Function 陳述式,您都必須在程序名稱之後加上括弧。任何在括弧內的引數都是以逗號來隔開的。例如,以下例子的 fDegrees 是預留給要傳到 Celsius 函數轉換的值:要從程序中獲得資料,就得使用 Function。切記,Function 程序可傳回值;Sub 程序不傳回值。Function Celsius(fDegrees) Celsius = (fDegrees - 32) * 5 / 9 End Function
在程式碼中,Function 必須使用於變數指定的右邊或放在運算式中。例如:
或Temp = Celsius(fDegrees)從另一個程序中呼叫 Sub 程序時,您只要在程序名稱加上所需的引數即可,引數須以逗號來隔開。不一定要使用 Call 陳述式,但若您要使用它,您必須把引數包含於括弧中。MsgBox "The Celsius temperature is " & Celsius(fDegrees) & " degrees."下面為二種呼叫 MyProc 程式的方法。一個是使用 Call 陳述式的,一個則沒有。而二者所做的事情是完全一樣的。
請注意,當不使用 Call 陳述式呼叫時,括弧要省略。Call MyProc(firstarg, secondarg) MyProc firstarg, secondarg