文章摘要
这篇文章介绍了VBScript中的Sub过程和Function过程的区别及使用方法。 1. **Sub过程** - 没有返回值,若调用过程中尝试设置返回值,会报错。 - 不能直接在表达式中调用,必须用调用语句,如`Call`。 - 示例: ``` Sub GetName(name) MsgBox name End Sub ``` 2. **Function过程** - 可以返回值(默认为Variant类型),返回值通过函数名赋值。 - 调用方式有两种: - 作为函数名使用,如`变量 = FunctionName`。 - 通过调用语句,如`FunctionName参数`。 - 示例: ``` Function GetName(name) MsgBox name End Function ``` 3. **调用方式** - Sub过程必须用`Call`语句调用,且参数必须括号匹配。 - Function过程可直接在变量赋值或表达式中使用。 - 示例: ``` Call FunctionName("参数") variable = FunctionName() ``` 4. **区别总结** - Sub过程无返回值,Function过程有返回值。 - Function过程更灵活,常用于返回结果,而Sub过程主要用于脚本逻辑。
我们一般都是在重复使用一些功能的时候,例如循环输出内容、分页的时候都会使用过程函数
Sub过程
Sub 过程是包含在 Sub 和 End Sub 语句之间的一组 VBScript 语句。如果 Sub 过程无任何参数,则 Sub 语句必须包含空括号 ()。
实例代码如下:
Call GetName() ‘调用Sub过程
Sub GetName()
MsgBox “我是脚本之家” ‘输出字符串
End Sub
Sub GetName()
MsgBox “我是脚本之家” ‘输出字符串
End Sub
Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。实例代码如下:
Call GetName(“我是脚本之家”) ‘调用Sub
Sub GetName(name)
MsgBox name ‘输出字符串
End Sub
Sub GetName(name)
MsgBox name ‘输出字符串
End Sub
Sub过程是没有返回值的哦!不然运行报错误的哦!!!实例代码如下:
getName “脚本之家” ‘调用过程
Sub getName(name)
getName=name ‘设置返回值
End Sub
Sub getName(name)
getName=name ‘设置返回值
End Sub
运行上面的脚本,将会出现下图所示的错误哦,请一定注意过程是不可以有返回值的

Function 过程
Function 过程是包含在 Function 和 End Function 语句之间的一组 VBScript 语句。Function 过程与 Sub 过程类似,如果 Function 过程无任何参数,则 Function 语句必须包含空括号 ()。实例代码如下:
Call GetName() ‘调用Function
Function GetName()
MsgBox “这里是脚本之家” ‘输出字符串
End Function
Function GetName()
MsgBox “这里是脚本之家” ‘输出字符串
End Function
Function 过程可以使用参数(由调用过程传递的常数、变量或表达式)。实例代码如下:
Call GetName(“这里是脚本之家”) ‘调用Function
Function GetName(name)
MsgBox name ‘输出字符串
End Function
Function GetName(name)
MsgBox name ‘输出字符串
End Function
Function 是有返回值的,通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是Variant。实例代码如下:
getName “这里是脚本之家” ‘调用Function
Function getName(name)
getName=name ‘设置返回值
End Function
Function getName(name)
getName=name ‘设置返回值
End Function
如何调用过程
调用 Function 过程时,函数名必须用在变量赋值语句的右端或表达式中。
调用 Sub 过程时,只需输入过程名及所有参数值,参数值之间使用逗号分隔。不需使用 Call 语句,但如果使用了此语句,则必须将所有参数包含在括号之中。
下面的示例显示了调用过程的两种方式。一种使用 Call 语句;另一种则不使用。两种方式效果相同。
getName “脚本之家” ‘调用过程的第一种写法
Call getName(“我是mdxy”) ‘调用过程的第二种写法
Sub getName(name)
MsgBox “我是”&name
End Sub
Call getName(“我是mdxy”) ‘调用过程的第二种写法
Sub getName(name)
MsgBox “我是”&name
End Sub
切记Sub与Function的区别:
Sub没有返回值,而Function有返回值。
Sub不能放在表达式中,而Function可以。
© 版权声明
文章版权归作者所有,未经允许请勿转载。



