VBScript

VBScript的Sub和Function

常用的过程有两种,一种为函数,给调用者返回值,一种为子程序,无返回值,还有一种叫事件的特殊子程序,用的比较少。

Sub过程:是一个过程复用,没有返回值,可使用参数

Function函数:可以有返回值,也有参数,若如参数,则必须包含空括号()。Function通过函数名返回一个值,这个值是在过程的语句中赋给函数名,返回值的数据类型总是Variant。

函数的基本定义方法为:

Function  函数名称(参数列表)

函数代码

函数名称=某值 ‘用来返回值

end  function

注意:

1、Sub子程序不能在表达式中使用。

2、函数只能出现在赋值语句的右边,或者表达式中,函数不能直接使用,如果必须直接使用函数,则必须使用call语句调用,且必须要有返回值。

'定义函数

Function addnum(a,b)

   addnum=a+b

End Function

'调用函数

msgbox addnum(2,3)

VBScript数据类型

VBScript只有一种数据类型Variant,根据使用的不同,可包含各种不同的信息。可用VarTpye查看Variant的子类型

             VarType返回的常量与值对应表

ConstantValueDescription

vbEmpty0Uninitialized (default)

vbNull1Contains no valid data

vbInteger2Integer subtype

vbLong3Long subtype

vbSingle4Single subtype

vbSingle5Double subtype

vbCurrency6Currency subtype货币型

vbDate7Date subtype

vbString8String subtype

vbObject9Object

vbError10Error subtype

vbBoolean11Boolean subtype

vbVariant12Variant (used only for arrays of variants)

vbDataObject13Data access object数据访问对象

vbDecimal14Decimal subtype

vbByte17Byte subtype

vbArray8192Array

说明:

在VBScript中对变量、方法、函数和对象的引用是不区分大小写;

显式地申明一个变量,需要使用关键字Dim,申明多个同类型变量,可以用逗号分隔;

VBScript中不允许在申明变量的时候同时给变量赋值。但是允许在一行代码内同时对两个变量进行赋值,中间用冒号分隔。

VBScript的循环语句

For...Next:

For i=1 to 5

print i

Next

print "结束"

For each...Next:

用For each …… Next语句可以对数组元素进行处理,包括“查询、显示或读取”。它所重复执行的次数由数组中元素的个数确定,也就是说,数组中有多少个元素,就自动重复执行多少次。

Dim a(),num,x

num=inputbox("输入Num的值")

ReDim preserve a(num)

a(0)=1:a(1)=2

print Ubound(a)           '输出数组a的长度

For each x in a             '输出数组a中的所有数据

     print x            

Next

注意:在上述两种循环中随时可以使用exit  for来退出循环

While...Wend:

Dim i

i=5

While i>1

     print i

     i=i-1

Wend

Do while...Loop:在条件满足时执行一段代码

Dim i

i=5

Do while i=5

     print i

     i=i-1

Loop       '结果输出5

Do until...Loop:在条件不满足时执行代码

Dim i

i=5

Do until i=1

     print i

     i=i-1

Loop       '结果输出5,4,3,2

VBScript的数组

定义固定长度的数组:Dim A(9) 该数组具有10个数据A(0)--A(9)

给数组赋值:A(0)=1

动态定义数组长度,如:

                                     Dim B()

                                     num=10

                                     ReDim B(num)

          注意:在改变数组的大小时,数组的数据会被破坏,使用关键字preserve来保护数据,如

                    ReDim preserve B(num)

    4.  定义二维数组: 数组名(个数,维数)

    5.  获取数组长度使用Ubound函数,Ubound(B,[维度数]),维度数不写默认为1

条件语句:if...then...else 和 select...case

If....Then....Else:

box = inputbox("请输入数字:")

If box=1  Then

msgbox 1

elseif box=2 then

msgbox 2

elseif box =3 then

msgbox 3

else 

msgbox "输入的数字无效!"

End If

Select...Case:

以上例子使用select...case实现:

box=inputbox("请输入数字:")

Select Case box

Case 1 

msgbox 1

Case 2

msgbox 2

Case 3

msgbox 3

Case else 

msgbox "输入的数字无效!"

End Select

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容