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

所属分类: 脚本专栏 / vbs 阅读数: 669
收藏 0 赞 0 分享

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

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

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

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

更多精彩内容其他人还在看

运行vbs脚本报错无效字符、中文乱码的解决方法(编码问题)

今天在写一个vbs的时候,发现中文乱码,后来写好代码正常运行的代码压缩一下给了同事,发现报无效字符,经过验证后发现原来是编码的问题导致,这里就为大家分享一下
收藏 0 赞 0 分享

VBS打开当前脚本所在文件夹

有时候我们需要获取当前vbs脚本所在的文件夹,或者运行当前脚本文件夹中的文件那么就需要参考下面的代码了
收藏 0 赞 0 分享

vbs 读写注册表之系统启动项添加与删除

这篇文章主要介绍了vbs 读写注册表之系统启动项添加值,需要的朋友可以参考下
收藏 0 赞 0 分享

拖拽文件显示文件路径的vbs代码

这篇文章主要介绍了拖拽文件显示文件路径的vbs代码,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS遍历Excel工作表的实现代码

这篇文章主要介绍了VBS遍历Excel工作表的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

使用VBS浏览本地文件的3种方式,获取完整路径

这篇文章主要介绍了使用VBS浏览本地文件的3种方式,获取完整路径,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS进程判断代码

这篇文章主要介绍了VBS进程判断代码,用来检测windows的某个进程是否正常运行,之前脚本之家分享过bat中判断进程的代码
收藏 0 赞 0 分享

VBS遍历文件或文件夹路径输入文件的所有绝对路径(附源码)

这篇文章主要介绍了VBS遍历文件或文件夹路径输入文件的所有绝对路径的代码,需要的朋友可以参考下
收藏 0 赞 0 分享

ActiveX部件不能创建对象:dm.dmsoft代码:800A01AD

vbs调用插件报:ActiveX部件不能创建对象,代码:800A01AD,一般是因为病毒导致dll文件丢失或者64系统问题导致,需要的朋友可以参考下
收藏 0 赞 0 分享

vbs ping实现的两种方式

这篇文章主要介绍了vbs ping实现的两种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享
查看更多