Microsoft® Visual Basic® Scripting Edition
VBScript 程序
 VBScript 教学 
 上一页 | 下一页 

 

程序的种类:
VBScript 有二种不同的程序:Sub 程序和 Function 程序。
Sub 程序
一个 Sub 程序是指一连串 VBScript 陈述式,它由 SubEnd Sub 陈述式所包围,但执行後不传回值。Sub 程序可以代入引数(由呼叫的程序传过来的常数、变数、或运算式)。若 Sub 程序不含任何引数,则须在 Sub 陈述式加上一个空括弧 ()。

下面的 Sub 程序使用二个内建的 VBScript 函数, MsgBoxInputBox,来显示一些资讯给使用者。再根据这些资讯来计算结果。这些计算是使用一个 VBScript 的 Function 程序来完成的。在接下来的讨论之後,会列出这个 Function 程序。

 Sub ConvertTemp()
    temp = InputBox("Please enter the temperature in degrees F.", 1)
    MsgBox "The temperature is " & Celsius(temp) & " degrees C."
 End Sub
Function 程序
一个 Function 程序是指一连串 VBScript 陈述式,它由 FunctionEnd 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 Celsius(fDegrees)
    Celsius = (fDegrees - 32) * 5 / 9
 End Function
要从程序中获得资料,就得使用 Function。切记,Function 程序可传回值;Sub 程序不传回值。
在程式码中使用 SubFunction 程序
在程式码中,Function 必须使用於变数指定的右边或放在运算式中。例如:

 Temp = Celsius(fDegrees)
 MsgBox "The Celsius temperature is " & Celsius(fDegrees) & " degrees."

从另一个程序中呼叫 Sub 程序时,您只要在程序名称加上所需的引数即可,引数须以逗号来隔开。不一定要使用 Call 陈述式,但若您要使用它,您必须把引数包含於括弧中。

下面为二种呼叫 MyProc 程式的方法。一个是使用 Call 陈述式的,一个则没有。而二者所做的事情是完全一样的。

 Call MyProc(firstarg, secondarg)
 MyProc firstarg, secondarg
请注意,当不使用 Call 陈述式呼叫时,括弧要省略。


[an error occurred while processing this directive]