VBScript教程.docx

上传人:b****1 文档编号:722409 上传时间:2023-04-29 格式:DOCX 页数:39 大小:39.33KB
下载 相关 举报
VBScript教程.docx_第1页
第1页 / 共39页
VBScript教程.docx_第2页
第2页 / 共39页
VBScript教程.docx_第3页
第3页 / 共39页
VBScript教程.docx_第4页
第4页 / 共39页
VBScript教程.docx_第5页
第5页 / 共39页
VBScript教程.docx_第6页
第6页 / 共39页
VBScript教程.docx_第7页
第7页 / 共39页
VBScript教程.docx_第8页
第8页 / 共39页
VBScript教程.docx_第9页
第9页 / 共39页
VBScript教程.docx_第10页
第10页 / 共39页
VBScript教程.docx_第11页
第11页 / 共39页
VBScript教程.docx_第12页
第12页 / 共39页
VBScript教程.docx_第13页
第13页 / 共39页
VBScript教程.docx_第14页
第14页 / 共39页
VBScript教程.docx_第15页
第15页 / 共39页
VBScript教程.docx_第16页
第16页 / 共39页
VBScript教程.docx_第17页
第17页 / 共39页
VBScript教程.docx_第18页
第18页 / 共39页
VBScript教程.docx_第19页
第19页 / 共39页
VBScript教程.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VBScript教程.docx

《VBScript教程.docx》由会员分享,可在线阅读,更多相关《VBScript教程.docx(39页珍藏版)》请在冰点文库上搜索。

VBScript教程.docx

VBScript教程

VBScript教程第一课什么是VBScript

MicrosoftVisualBasicScriptingEdition是程序开发语言VisualBasic家族的最新成员,它将灵活的Script应用于更广泛的领域,包括MicrosoftInternetExplorer中的Web客户机Script和MicrosoftInternetInformationServer中的Web服务器Script。

易学易用

如果您已了解VisualBasic或VisualBasicforApplications,就会很快熟悉VBScript。

即使您没有学过VisualBasic,只要学会VBScript,就能够使用所有的VisualBasic语言进行程序设计。

虽然您可以从本教程的几个Web页面中学习VBscript,但是本教程并没有告诉您如何编程。

要学习编程,请阅读由MicrosoftPress出版的《StepbyStep》。

ActiveXScript

VBScript使用ActiveX™Script与宿主应用程序对话。

使用ActiveXScript,浏览器和其他宿主应用程序不再需要每个Script部件的特殊集成代码。

ActiveXScript使宿主可以编译Script、获取和调用入口点及管理开发者可用的命名空间。

通过ActiveXScript,语言厂商可以建立标准Script运行时语言。

Microsoft将提供VBScript的运行时支持。

Microsoft正在与多个Internet组一起定义ActiveXScript标准以使Script引擎可以互换。

ActiveXScript可用在Microsoft®InternetExplorer和Microsoft®InternetInformationServer中。

其他应用程序和浏览器中的VBScript

作为开发者,您可以在您的产品中免费使用VBScript源实现程序。

Microsoft为32位Windows®API、16位WindowsAPI和Macintosh®提供VBscript的二进制实现程序。

VBScript与WorldWideWeb浏览器集成在一起。

VBScript和ActiveXScript也可以在其他应用程序中作为普通Script语言使用。

VBScript教程第二课在HTML页面中添加VBscript代码

SCRIPT元素用于将VBScript代码添加到HTML页面中。

代码的开始和结束部分都有

...

SCRIPT块可以出现在HTML页面的任何地方(BODY或HEAD部分之中)。

然而最好将所有的一般目标Script代码放在HEAD部分中,以使所有Script代码集中放置。

这样可以确保在BODY部分调用代码之前所有Script代码都被读取并解码。

上述规则的一个值得注意的例外情况是,在窗体中提供内部代码以响应窗体中对象的事件。

例如,以下示例在窗体中嵌入Script代码以响应窗体中按钮的单击事件:

测试按钮事件

MsgBox"按钮被单击!

"

大多数Script代码在Sub或Function过程中,仅在其他代码要调用它时执行。

然而,也可以将VBScript代码放在过程之外、SCRIPT块之中。

这类代码仅在HTML页面加载时执行一次。

这样就可以在加载Web页面时初始化数据或动态地改变页面的外观。

VBScript教程第三课VBScript数据类型

什么是VBScript数据类型?

VBScript只有一种数据类型,称为Variant。

Variant是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。

因为Variant是VBScript中唯一的数据类型,所以它也是VBScript中所有函数的返回值的数据类型。

最简单的Variant可以包含数字或字符串信息。

Variant用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理。

这就是说,如果使用看起来象是数字的数据,则VBScript会假定其为数字并以适用于数字的方式处理。

与此类似,如果使用的数据只可能是字符串,则VBScript将按字符串处理。

当然,也可以将数字包含在引号("")中使其成为字符串。

Variant子类型

除简单数字或字符串以外,Variant可以进一步区分数值信息的特定含义。

例如使用数值信息表示日期或时间。

此类数据在与其他日期或时间数据一起使用时,结果也总是表示为日期或时间。

当然,从Boolean值到浮点数,数值信息是多种多样的。

Variant包含的数值信息类型称为子类型。

大多数情况下,可将所需的数据放进Variant中,而Variant也会按照最适用于其包含的数据的方式进行操作。

下表显示Variant包含的数据子类型:

子类型

描述

Empty

未初始化的Variant。

对于数值变量,值为0;对于字符串变量,值为零长度字符串("")。

Null

不包含任何有效数据的Variant。

Boolean

包含True或False。

Byte

包含0到255之间的整数。

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

包含错误号。

您可以使用转换函数来转换数据的子类型。

另外,可使用VarType函数返回数据的Variant子类型。

VBScript教程第四课VBScript变量

什么是变量?

变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储Script运行时可更改的程序信息。

例如,可以创建一个名为ClickCount的变量来存储用户单击Web页面上某个对象的次数。

使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。

在VBScript中只有一个基本数据类型,即Variant,因此所有变量的数据类型都是Variant。

声明变量

声明变量的一种方式是使用Dim语句、Public语句和Private语句在Script中显式声明变量。

例如:

DimDegreesFahrenheit

声明多个变量时,使用逗号分隔变量。

例如:

DimTop,Bottom,Left,Right

另一种方式是通过直接在Script中使用变量名这一简单方式隐式声明变量。

这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行Script时出现意外的结果。

因此,最好使用OptionExplicit语句显式声明所有变量,并将其作为Script的第一条语句。

命名规则

变量命名必须遵循VBScript的标准命名规则。

变量命名必须遵循:

·第一个字符必须是字母。

·不能包含嵌入的句点。

·长度不能超过255个字符。

·在被声明的作用域内必须唯一。

变量的作用域与存活期

变量的作用域由声明它的位置决定。

如果在过程中声明变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称为过程级变量。

如果在过程之外声明变量,则该变量可以被Script中所有过程所识别,称为Script级变量,具有Script级作用域。

变量存在的时间称为存活期。

Script级变量的存活期从被声明的一刻起,直到Script运行结束。

对于过程级变量,其存活期仅是该过程运行的时间,该过程结束后,变量随之消失。

在执行过程时,局部变量是理想的临时存储空间。

可以在不同过程中使用同名的局部变量,这是因为每个局部变量只被声明它的过程识别。

给变量赋值

创建如下形式的表达式给变量赋值:

变量在表达式左边,要赋的值在表达式右边。

例如:

B=200

标量变量和数组变量

多数情况下,只需为声明的变量赋一个值。

只包含一个值的变量被称为标量变量。

有时候,将多个相关值赋给一个变量更为方便,因此可以创建包含一系列值的变量,称为数组变量。

数组变量和标量变量是以相同的方式声明的,唯一的区别是声明数组变量时变量名后面带有括号()。

下例声明了一个包含11个元素的一维数组:

DimA(10)

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

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

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

在数组中使用索引为数组的每个元素赋值。

从0到10,将数据赋给数组的元素,如下所示:

A(0)=256

A

(1)=324

A

(2)=100

...

A(10)=55

与此类似,使用索引可以检索到所需的数组元素的数据。

例如:

...

SomeVariable=A(8)

...

数组并不仅限于一维。

数组的维数最大可以为60(尽管大多数人不能理解超过3或4的维数)。

声明多维数组时用逗号分隔括号中每个表示数组大小的数字。

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

DimMyTable(5,10)

在二维数组中,括号中第一个数字表示行的数目,第二个数字表示列的数目。

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

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

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

例如:

DimMyArray()

ReDimAnotherArray()

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

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

ReDimMyArray(25)

...

ReDimPreserveMyArray(30)

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

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

VBScript教程第五课VBScript常数

什么是常数?

常数是具有一定含义的名称,用于代替数字或字符串,其值从不改变。

VBScript定义了许多固有常数。

详细信息,请参阅VBScript语言参考。

创建常数

您可以使用Const语句在VBScript中创建用户自定义常数。

使用Const语句可以创建名称具有一定含义的字符串型或数值型常数,并给它们赋原义值。

例如:

ConstMyString="这是一个字符串。

"

ConstMyAge=49

请注意字符串文字包含在两个引号("")之间。

这是区分字符串型常数和数值型常数的最明显的方法。

日期文字和时间文字包含在两个井号(#)之间。

例如:

ConstCutoffDate=#6-1-97#

最好采用一个命名方案以区分常数和变量。

这样可以避免在运行Script时对常数重新赋值。

例如,可以使用“vb”或“con”作常数名的前缀,或将常数名的所有字母大写。

将常数和变量区分开可以在开发复杂的Script时避免混乱。

VBScript教程第六课VBScript运算符

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

运算符优先级

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

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

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

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

当表达式包含多种运算符时,首先计算算术运算符,然后计算比较运算符,最后计算逻辑运算符。

所有比较运算符的优先级相同,即按照从左到右的顺序计算比较运算符。

算术运算符和逻辑运算符的优先级如下所示:

算术运算符

比较运算符

逻辑运算符

描述

符号

描述

符号

描述

符号

求幂

^

等于

=

逻辑非

Not

负号

-

不等于

<>

逻辑与

And

*

小于

<

逻辑或

Or

/

大于

>

逻辑异或

Xor

整除

\

小于等于

<=

逻辑等价

Eqv

求余

Mod

大于等于

>=

逻辑隐含

Imp

+

对象引用比较

Is

-

字符串连接

&

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

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

字符串连接(&)运算符不是算术运算符,但是在优先级顺序中,它排在所有算术运算符之后和所有比较运算符之前。

Is运算符是对象引用比较运算符。

它并不比较对象或对象的值,而只是进行检查,判断两个对象引用是否引用同一个对象。

VBScript教程第七课使用条件语句

控制程序执行

使用条件语句和循环语句可以控制Script的流程。

使用条件语句可以编写进行判断和重复操作的VBScript代码。

在VBScript中可使用以下条件语句:

·If...Then...Else语句

·SelectCase语句

使用If...Then...Else进行判断

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

通常,条件是使用比较运算符对值或变量进行比较的表达式。

有关比较运算符的详细信息,请参阅比较运算符。

If...Then...Else语句可以按照需要进行嵌套。

条件为True时运行语句

要在条件为True时运行单行语句,可使用If...Then...Else语句的单行语法。

下例示范了单行语法。

请注意此例省略了关键字Else。

SubFixDate()

DimmyDate

myDate=#2/13/95#

IfmyDate

EndSub

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

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

SubAlertUser(value)

Ifvalue=0Then

AlertLabel.ForeColor=vbRed

AlertLabel.Font.Bold=True

AlertLabel.Font.Italic=True

EndIf

EndSub

条件为True和False时分别运行某些语句

可以使用If...Then...Else语句定义两个可执行语句块:

条件为True时运行某一语句块,条件为False时运行另一语句块。

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

对多个条件进行判断

If...Then...Else语句的一种变形允许您从多个条件中选择,即添加ElseIf子句以扩充If...Then...Else语句的功能,使您可以控制基于多种可能的程序流程。

例如:

SubReportValue(value)

Ifvalue=0Then

MsgBoxvalue

ElseIfvalue=1Then

MsgBoxvalue

ElseIfvalue=2then

Msgboxvalue

Else

Msgbox"数值超出范围!

"

EndIf

可以添加任意多个ElseIf子句以提供多种选择。

使用多个ElseIf子句经常会变得很累赘。

在多个条件中进行选择的更好方法是使用SelectCase语句。

使用SelectCase进行判断

SelectCase结构提供了If...Then...ElseIf结构的一个变通形式,可以从多个语句块中选择执行其中的一个。

SelectCase语句提供的功能与If...Then...Else语句类似,但是可以使代码更加简练易读。

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

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

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

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

Case"MasterCard"

DisplayMCLogo

ValidateMCAccount

Case"Visa"

DisplayVisaLogo

ValidateVisaAccount

Case"AmericanExpress"

DisplayAMEXCOLogo

ValidateAMEXCOAccount

CaseElse

DisplayUnknownImage

PromptAgain

EndSelect

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

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

VBScript教程第八课使用循环语句

使用循环重复执行代码

循环用于重复执行一组语句。

循环可分为三类:

一类在条件变为False之前重复执行语句,一类在条件变为True之前重复执行语句,另一类按照指定的次数重复执行语句。

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

·Do...Loop:

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

·While...Wend:

当条件为True时循环。

·For...Next:

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

·ForEach...Next:

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

使用Do循环

可以使用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&"次。

"

EndSub

SubChkLastWhile()

Dimcounter,myNum

counter=0

myNum=9

Do

myNum=myNum-1

counter=counter+1

LoopWhilemyNum>10

MsgBox"循环重复了

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

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2