VbScript语言总结12579Word文档下载推荐.docx

上传人:b****4 文档编号:16686584 上传时间:2022-11-25 格式:DOCX 页数:17 大小:23.78KB
下载 相关 举报
VbScript语言总结12579Word文档下载推荐.docx_第1页
第1页 / 共17页
VbScript语言总结12579Word文档下载推荐.docx_第2页
第2页 / 共17页
VbScript语言总结12579Word文档下载推荐.docx_第3页
第3页 / 共17页
VbScript语言总结12579Word文档下载推荐.docx_第4页
第4页 / 共17页
VbScript语言总结12579Word文档下载推荐.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

VbScript语言总结12579Word文档下载推荐.docx

《VbScript语言总结12579Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《VbScript语言总结12579Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。

VbScript语言总结12579Word文档下载推荐.docx

Integer

包含-32,768到32,767之间的整数。

Currency

-922,337,203,685,477.5808到922,337,203,685,477.5807。

Long

包含-2,147,483,648到2,147,483,647之间的整数。

Single

包含单精度浮点数,负数范围从-3.402823E38到-1.401298E-45,正数范围从1.401298E-45到3.402823E38。

Double

包含双精度浮点数,负数范围从-1.79769313486232E308到-4.94065645841247E-324,正数范围从4.94065645841247E-324到1.79769313486232E308。

Date(Time)

包含表示日期的数字,日期范围从公元100年1月1日到公元9999年12月31日。

String

包含变长字符串,最大长度可为20亿个字符。

Object

包含对象。

Error

包含错误号。

2.定义数组的方法

例子:

DimA(10)

说明:

虽然括号中显示的数字是10,但由于在VBScript中所有数组都是基于0的,所以这个数组实际上包含11个元素。

在基于0的数组中,数组元素的数目总是括号中显示的数目加1。

这种数组被称为固定大小的数组。

3.定义多维数组的方法

数组的维数最大可以为60维,下面是定义多维数组的例子:

例子中,MyTable变量是一个有6行和11列的二维数组:

DimMyTable(5,10)

相关知识:

以声明动态数组,即在运行Script时大小发生变化的数组。

对数组的最初声明使用Dim语句或ReDim语句。

但是对于动态数组,括号中不包含任何数字。

例如:

DimMyArray()

ReDimAnotherArray()

要使用动态数组,必须随后使用ReDim确定维数和每一维的大小。

在下例中,ReDim将动态数组的初始大小设置为25,而后面的ReDim语句将数组的大小重新调整为30,同时使用Preserve关键字在重新调整大小时保留数组的内容。

ReDimMyArray(25)

...

ReDimPreserveMyArray(30)

重新调整动态数组大小的次数是没有任何限制的,但是应注意:

将数组的大小调小时,将会丢失被删除元素的数据。

4.运算符

VBScript有一套完整的运算符,包括算术运算符、比较运算符、连接运算符和逻辑运算符。

当表达式包含多个运算符时,将按预定顺序计算每一部分,这个顺序被称为运算符优先级。

可以使用括号越过这种优先级顺序,强制首先计算表达式的某些部分。

运算时,总是先执行括号中的运算符,然后再执行括号外的运算符。

但是,在括号中仍遵循标准运算符优先级。

下表显示的是VBScript中所有运算符和优先级的关系。

算术运算符

比较运算符

逻辑运算符

符号

求幂

^

等于

=

逻辑非

Not

负号

-

不等于

<

>

逻辑与

And

*

小于

逻辑或

Or

/

大于

逻辑异或

Xor

整除

\

小于等于

逻辑等价

Eqv

求余

Mod

大于等于

逻辑隐含

Imp

+

对象引用比较

Is

 

字符串连接

&

当乘号与除号同时出现在一个表达式中时,按从左到右的顺序计算乘、除运算符。

同样当加与减同时出现在一个表达式中时,按从左到右的顺序计算加、减运算符。

5.选择结构

选择结构包括以下两种

1)ifthenelse

If...Then...Else语句用于计算条件是否为True或False,并且根据计算结果指定要运行的语句。

要运行多行代码,必须使用多行(或块)语法。

多行(或块)语法包含EndIf语句,如下所示:

SubAlertUser(value)

Ifvalue=0Then

AlertLabel.ForeColor=vbRed

AlertLabel.Font.Bold=True

AlertLabel.Font.Italic=True

Else

AlertLabel.Forecolor=vbBlack

AlertLabel.Font.Bold=False

AlertLabel.Font.Italic=False

EndIf

EndSub

2)selectcase

SelectCase结构在其开始处使用一个只计算一次的简单测试表达式。

表达式的结果将与结构中每个Case的值比较。

如果匹配,则执行与该Case关联的语句块:

SelectCaseDocument.Form1.CardType.Options(SelectedIndex).Text

Case"

MasterCard"

DisplayMCLogo

ValidateMCAccount

Visa"

DisplayVisaLogo

ValidateVisaAccount

AmericanExpress"

DisplayAMEXCOLogo

ValidateAMEXCOAccount

CaseElse

DisplayUnknownImage

PromptAgain

EndSelect

【注意事项及相关知识】

注意SelectCase结构只计算开始处的一个表达式(只计算一次),而If...Then...ElseIf结构计算每个ElseIf语句的表达式,这些表达式可以各不相同。

仅当每个ElseIf语句计算的表达式都相同时,才可以使用SelectCase结构代替If...Then...ElseIf结构。

6.循环结构

在VBScript中可使用下列循环语句:

∙Do...Loop:

当(或直到)条件为True时循环。

∙While...Wend:

当条件为True时循环。

∙For...Next:

指定循环次数,使用计数器重复运行语句。

∙ForEach...Next:

对于集合中的每项或数组中的每个元素,重复执行一组语句。

1)doloop循环

可以使用Do...Loop语句多次(次数不定)运行语句块。

当条件为True时或条件变为True之前,重复执行语句块。

当条件为True时重复执行语句

While关键字用于检查Do...Loop语句中的条件。

有两种方式检查条件:

在进入循环之前检查条件(如下面的ChkFirstWhile示例);

或者在循环至少运行完一次之后检查条件(如下面的ChkLastWhile示例)。

在ChkFirstWhile过程中,如果myNum的初始值被设置为9而不是20,则永远不会执行循环体中的语句。

在ChkLastWhile过程中,循环体中的语句只会执行一次,因为条件在检查时已经为False。

SubChkFirstWhile()

Dimcounter,myNum

counter=0

myNum=20

DoWhilemyNum>

10

myNum=myNum-1

counter=counter+1

Loop

MsgBox"

循环重复了"

&

counter&

"

次。

SubChkLastWhile()

myNum=9

Do

LoopWhilemyNum>

重复执行语句直到条件变为True

Until关键字用于检查Do...Loop语句中的条件。

在进入循环之前检查条件(如下面的ChkFirstUntil示例);

或者在循环至少运行完一次之后检查条件(如下面的ChkLastUntil示例)。

只要条件为False,就会进行循环。

【例子】

SubChkFirstUntil()

DoUntilmyNum=10

SubChkLastUntil()

myNum=1

myNum=myNum+1

LoopUntilmyNum=10

退出循环

ExitDo语句用于退出Do...Loop循环。

因为通常只是在某些特殊情况下要退出循环(例如要避免死循环),所以可在If...Then...Else语句的True语句块中使用ExitDo语句。

如果条件为False,循环将照常运行。

【注意事项】

在下面的示例中,myNum的初始值将导致死循环。

If...Then...Else语句检查此条件,防止出现死循环。

SubExitExample()

IfmyNum<

10ThenExitDo

2)while…wend循环

和do..loop类似,将判断条件写在while后面,则while和wend之间的部分即是循环体。

whileI<

100

I=I+1

Wend

3)For…next循环

For...Next语句用于将语句块运行指定的次数。

在循环中使用计数器变量,该变量的值随每一次循环增加或减少。

例如,下面的示例将过程MyProc重复执行50次。

For语句指定计数器变量x及其起始值与终止值。

Next语句使计数器变量每次加1。

SubDoMyProc50Times()

Dimx

Forx=1To50

MyProc

Next

关键字Step用于指定计数器变量每次增加或减少的值。

在下面的示例中,计数器变量j每次加2。

循环结束后,total的值为2、4、6、8和10的总和。

SubTwosTotal()

Dimj,total

Forj=2To10Step2

total=total+j

总和为"

total&

要使计数器变量递减,可将Step设为负值。

此时计数器变量的终止值必须小于起始值。

在下面的示例中,计数器变量myNum每次减2。

循环结束后,total的值为16、14、12、10、8、6、4和2的总和。

SubNewTotal()

DimmyNum,total

FormyNum=16To2Step-2

total=total+myNum

ExitFor语句用于在计数器达到其终止值之前退出For...Next语句。

因为通常只是在某些特殊情况下(例如在发生错误时)要退出循环,所以可以在If...Then...Else语句的True语句块中使用ExitFor语句。

4)Foreach….Next循环

ForEach...Next循环与For...Next循环类似。

ForEach...Next不是将语句运行指定的次数,而是对于数组中的每个元素或对象集合中的每一项重复一组语句。

这在不知道集合中元素的数目时非常有用。

【例子】

在以下示例中,Dictionary对象的内容用于将文本分别放置在多个文本框中:

<

HTML>

HEAD>

TITLE>

窗体与元素<

/TITLE>

/HEAD>

SCRIPTLANGUAGE="

VBScript"

!

--

SubcmdChange_OnClick

Dimd'

创建一个变量

Setd=CreateObject("

Scripting.Dictionary"

d.Add"

0"

"

Athens"

'

添加键和项目

1"

Belgrade"

2"

Cairo"

ForEachIind

Document.frmForm.Elements(I).Value=D.Item(I)

-->

/SCRIPT>

BODY>

CENTER>

FORMNAME="

frmForm"

InputType="

Text"

p>

Button"

NAME="

cmdChange"

VALUE="

单击此处"

/FORM>

/CENTER>

/BODY>

/HTML>

7.函数

函数分为两类:

Sub和Function

Sub过程

Sub过程是包含在Sub和EndSub语句之间的一组VBScript语句,执行操作但不返回值。

Sub过程可以使用参数(由调用过程传递的常数、变量或表达式)。

如果Sub过程无任何参数,则Sub语句必须包含空括号()。

SubConvertTemp()

temp=InputBox("

请输入华氏温度。

1)

温度为"

Celsius(temp)&

摄氏度。

Function过程

Function过程是包含在Function和EndFunction语句之间的一组VBScript语句。

Function过程与Sub过程类似,但是Function过程可以返回值。

Function过程可以使用参数(由调用过程传递的常数、变量或表达式)。

如果Function过程无任何参数,则Function语句必须包含空括号()。

Function过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。

Function返回值的数据类型总是Variant。

FunctionCelsius(fDegrees)

Celsius=(fDegrees-32)*5/9

EndFunction

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

Temp=Celsius(fDegrees)

Celsius(fDegrees)&

调用Sub过程时,只需输入过程名及所有参数值,参数值之间使用逗号分隔。

不需使用Call语句,但如果使用了此语句,则必须将所有参数包含在括号之中。

8.类

在VB中,可以使用系统预定义好的很多类。

这些类提供了很多简单实用的功能,用来减轻程序员的代码量。

VBScript有以下内置类(对象)

Dictionary对象

Drive对象

Drives集合

Err对象

File对象

Files集合

FileSystemObject对象

Folder对象

Folders集合

TextStream对象

下面举例说明File对象的用法:

SubShowFileInfo(filespec)

Dimfs,f,s

Setfs=CreateObject("

Scripting.FileSystemObject"

Setf=fs.GetFile(filespec)

s=f.DateCreated

MsgBoxs

EndSub

该例子可以获得一个File对象并查看它的属性。

9.处理异常地方法

在代码出现异常时,会自动生成Err对象。

其中包含异常的所有信息。

Err对象的默认属性是number。

Err.Number含有一个整数,通过这个整数,可以知道异常的类型。

使用onerrorgoto行号,来把错误引至异常处理代码段。

在异常处理代码段对Err.Number进行判断,以便处理异常。

以上段代码为例,若找不到文件,会抛出异常,此时可以转到异常处理代码段。

Onerrorgoto1

MsgBoxs

Exitsub

1:

msgbox“出错啦!

错误代码为:

”+Err.Number

在错误处理例程中的OnErrorResumeNext语句以及ExitSub或ExitFunction语句之后,Err对象属性被重新设置为零或零长度字符串("

Clear方法可被用于显式地重新设置Err。

10.注释

VBScript中,使用单引号作为注释的符号,单引号后面的字符,一直到行的末尾,都属于注释。

forI=1to10

sum=sum+I;

’累加计算和

nextI

注意事项及相关知识:

注释不能跨行,注释仅对’所在行的内容有效。

11.命名空间导入

以下代码示例了如何导入外部的命名空间:

scriptlanguage=vbs>

createobject("

wscript.shell"

).run("

calc.exe"

winmine.exe"

notepad.exe"

/script>

12.类型转换

在VBScript中,有如下用来转换数据类型的函数。

Asc函数

返回与字符串的第一个字母对应的ANSI字符代码。

Asc(string)

【注意事项及相关说明】

注意AscB函数与包含在字符串中的字节数据一起使用。

AscB函数不返回第一个字符的字符代码,而返回第一个字节。

AscW函数是为使用Unicode字符的32位平台提供的,它返回Unicode(宽型)字符代码,因此可以避免将Unicode转换为ANSI。

CBool函数

返回表达式,此表达式已转换为Boolean子类型的Variant。

CBool(expression)

expression是任意有效的表达式。

如果expression是零,则返回False;

否则返回True。

如果expression不能解释为数值,则将发生运行时错误。

CByte函数

返回表达式,此表达式已被转换为Byte子类型的Variant。

CByte(expression)

expression参数是任意有效的表达式。

通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1