欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-07 14:15:12
我们一般都是在重复使用一些功能的时候,例如循环输出内容、分页的时候都会使用过程函数 sub过程 sub 过程是包含在 sub 和 end sub 语句之间的一组 vbs...

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

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可以。