VBS基础篇 - VBScript过程

 

  在 VBScript 中,过程被分为两类:Sub 过程和 Function 过程。

 Sub过程

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

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

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

1
2
3
4
Call GetName("我是sirrah") '调用Sub
Sub GetName(name)
    MsgBox name '输出字符串
End Sub

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

1
2
3
4
getName "Sirrah" '调用过程
Sub getName(name)
    getName = name '设置返回值
End Sub

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

  Function 过程

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

1
2
3
4
Call GetName() '调用Function
Function GetName()
    MsgBox "我是Sirrah" '输出字符串
End Function

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

1
2
3
4
Call GetName("我是sirrah") '调用Function
Function GetName(name)
    MsgBox name '输出字符串
End Function

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

1
2
3
4
getName "Sirrah" '调用Function
Function getName(name)
    getName = name '设置返回值
End Function

如何调用过程

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

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

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

1
2
3
4
5
getName "Sirrah" '调用过程的第一种写法
Call getName("Candy") '调用过程的第二种写法
Sub getName(name)
    MsgBox "我是"&name
End Sub

  切记Sub与Function的区别:

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

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

VBS基础篇 - VBScript过程的更多相关文章

  1. VBS基础篇 - 过程(sub 与 Function)

    VBS基础篇 - 过程(sub 与 Function) 在VBscript中,有两种procedure:Sub procedure与Function procedure Sub过程:是包含在 Sub  ...

  2. VBS基础篇 - 循环语句(3) - For...Next

    VBS基础篇 - 循环语句(3) - For...Next   指定循环次数,使用计数器重复运行语句,语法结构如下: 1 2 3 4 5 For counter = start To end [Ste ...

  3. VBS基础篇 - 对象(1) - Class对象

    VBS基础篇 - 对象(1) - Class对象   相信对JAVA有一定了解的朋友一定对类这个名词不陌生,但是大家可能没有想过在VBS中使用Class类吧,其实Class类在自动化测试中是相当常用的 ...

  4. VBS基础篇 - 循环语句(4) - For Each...Next

    VBS基础篇 - 循环语句(4) - For Each...Next   For Each...Next 循环与 For...Next 循环类似.For Each...Next 不是将语句运行指定的次 ...

  5. VBS基础篇 - 对象(3) - FileSystemObject对象

    VBS基础篇 - 对象(3) - FileSystemObject对象   文件系统是所有操作系统最重要的部分之一,脚本经常会需要对文件及文件夹进行访问和管理,在Vbs中对桌面和文件系统进行访问的顶级 ...

  6. VBS基础篇 - 对象(5) - File对象

    VBS基础篇 - 对象(5) - File对象   描述:提供对文件所有属性的访问,从FSO对象的GetFile方法获得. 使用File对象        要用File对象模型来编程必须先用FileS ...

  7. VBS基础篇 - 对象(7) - TextStream对象

    VBS基础篇 - 对象(7) - TextStream对象   TextStream对象是用于访问文本文件的对象,它是FileSystemObject一个独立的附属对象,但在使用TextStream对 ...

  8. VBS基础篇 - 对象(6) - Folder对象

    VBS基础篇 - 对象(6) - Folder对象   描述:提供对文件所有属性的访问,从FSO对象的GetFile方法获得 使用Folder对象 要用Folder对象模型来编程必须先用FSO对象的G ...

  9. VBS基础篇 - 杂项 - Sendkeys

    VBS基础篇 - 杂项 - Sendkeys   模拟键盘操作,将一个或多个按键指令发送到指定Windows窗口来控制应用程序运行 其使用格式为:object.SendKeys(string) obj ...

随机推荐

  1. HttpHelps类

    /// <summary> /// 类说明:HttpHelps类,用来实现Http访问,Post或者Get方式的,直接访问,带Cookie的,带证书的等方式,可以设置代理 /// 重要提示 ...

  2. Java实现二叉树先序,中序,后序遍历

    以下是我要解析的一个二叉树的模型形状 接下来废话不多直接上代码 一种是用递归的方法,另一种是用堆栈的方法: 首先创建一棵树: public class Node { private int data; ...

  3. php正则匹配中文

    <?php $str = '你是我的+****xiaopingguo _ 23947237 _+冠军终归这里'; preg_match_all('/[\x{4e00}-\x{9fa5}A-Za- ...

  4. 非常不错的MySQL优化的8条经验

    1.选取最适用的字段属性   MySQL 可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度 ...

  5. 解决ubuntu 里面vi的时候上下左右是ABCD删除也不起作用

    解决ubuntu 里面vi的时候上下左右是ABCD,backspace也不起作用 cp  /etc/vim/vimrc  ~/.vimrc 用remove vim-common然后再install v ...

  6. java基础值向上向下转型

    1.父类引用可以指向子类对象,子类引用不能指向父类对象. 2.向上转型:子类引用的对象转换为父类类型称为向上转型,把子类对象直接赋给父类引用叫upcasting,向上转型不用强制转型(类似于低精度赋给 ...

  7. linux安装gcc-c++

    首先查看系统是否安装: gcc -v    g++ -v    c++ -v 没有安装则执行一键安装命令:#yum install gcc-c++ 如果直接执行:#yum install c++是安装 ...

  8. linux版本选择

    桌面系统           -- Ubuntu,开发人员也喜欢用Ubuntu 服务器端           -- RHEL或CentOS,RHEL要钱 对安全要求很高  -- Decian或Free ...

  9. MongoDB数据模型(三)

    六.数据模型引用 文档 我们已经知道MongoDB以文档的形式存储数据,而文档是JSON风格的数据结构,由一系列的“字段名-值”对组成,如下所示 { "item": "p ...

  10. 浅析const标识符在C++函数的功能

    范例: class matrix { public: matrix(){}; const double getvalue(const unsigned row, const unsigned colu ...