![]() | |
|
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