过程分类
在 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 语句进行时括号被省略
最新评论