当前位置:首页 >> 脚本专栏

VBS基础篇 - VBScript过程(使用sub 与 Function定义函数)

我们一般都是在重复使用一些功能的时候,例如循环输出内容、分页的时候都会使用过程函数

Sub过程

Sub 过程是包含在 Sub 和 End Sub 语句之间的一组 VBScript 语句。如果 Sub 过程无任何参数,则 Sub 语句必须包含空括号 ()。

实例代码如下:

Call GetName() '调用Sub过程
Sub GetName()
  MsgBox "我是" '输出字符串
End Sub

Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。实例代码如下:

Call GetName("我是") '调用Sub
Sub GetName(name)
  MsgBox name '输出字符串
End Sub

Sub过程是没有返回值的哦!不然运行报错误的哦!!!实例代码如下:

getName "" '调用过程
Sub getName(name)
  getName = name '设置返回值
End Sub

运行上面的脚本,将会出现下图所示的错误哦,请一定注意过程是不可以有返回值的

VBS基础篇 - VBScript过程(使用sub 与 Function定义函数)

Function 过程

Function 过程是包含在 Function 和 End Function 语句之间的一组 VBScript 语句。Function 过程与 Sub 过程类似,如果 Function 过程无任何参数,则 Function 语句必须包含空括号 ()。实例代码如下:

Call GetName() '调用Function
Function GetName()
  MsgBox "这里是" '输出字符串
End Function

Function 过程可以使用参数(由调用过程传递的常数、变量或表达式)。实例代码如下:

Call GetName("这里是") '调用Function
Function GetName(name)
  MsgBox name '输出字符串
End Function

Function 是有返回值的,通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是Variant。实例代码如下:

getName "这里是" '调用Function
Function getName(name)
  getName = name '设置返回值
End Function

如何调用过程

调用 Function 过程时,函数名必须用在变量赋值语句的右端或表达式中。

调用 Sub 过程时,只需输入过程名及所有参数值,参数值之间使用逗号分隔。不需使用 Call 语句,但如果使用了此语句,则必须将所有参数包含在括号之中。

  下面的示例显示了调用过程的两种方式。一种使用 Call 语句;另一种则不使用。两种方式效果相同。

getName "" '调用过程的第一种写法
Call getName("我是mdxy") '调用过程的第二种写法
Sub getName(name)
  MsgBox "我是"&name
End Sub

切记Sub与Function的区别:

Sub没有返回值,而Function有返回值。

Sub不能放在表达式中,而Function可以。