blissVBscrit学习.docx
- 文档编号:3808092
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:18
- 大小:23.44KB
blissVBscrit学习.docx
《blissVBscrit学习.docx》由会员分享,可在线阅读,更多相关《blissVBscrit学习.docx(18页珍藏版)》请在冰豆网上搜索。
blissVBscrit学习
目录
1.数据类型2
2.VBScript变量2
2.1什么是变量?
2
2.2变量名称的规则:
2
2.3变量声明3
2.4为变量赋值3
2.5变量的生存期3
2.6数组变量4
3.常数4
4.运算符5
4.1算术运算符5
4.2逻辑运算符5
4.3比较运算符5
5.VBScript程序6
5.1子程序:
6
5.2函数程序:
6
5.3调用子程序或函数程序7
6.VBScript条件语句7
6.1If....Then.....Else8
6.2If....Then.....Elseif8
6.3SelectCase9
7.VBScript循环语句9
7.1For...Next循环10
7.2Step关键词10
7.3退出For...Next10
8.VBScript函数11
8.1Date/Time函数11
8.2Conversion函数12
8.3Format函数12
8.4Math函数13
8.5Array函数13
8.6String函数14
8.7其他函数14
1.数据类型
VBScript只有一种数据类型——Variant,它是根据上下文来判断是数字还是字符串。
因为Variant是VBScript中唯一的数据类型,所以它也是VBScript中所有函数的返回值的数据类型。
为了进一步区分数据类型,它包含如下数据子类型:
子类型
描述
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
包含错误号。
您可以使用转换函数(CInt,CStr等等)来转换数据的子类型。
另外,可使用VarType函数返回数据的Variant子类型。
2.VBScript变量
2.1什么是变量?
变量是可存储信息的“容器”。
在脚本中,变量的值是可以改变的。
您可以通过引用某个变量的名称,来查看或修改它的值。
在VBScript中,所有的变量都与类型相关,可存储不同类型的数据。
2.2变量名称的规则:
∙必须以字母开头
∙不能包含点号(.)
∙不能超过255个字符
2.3变量声明
您可以使用Dim、Public或Private语句来声明变量,比如这样:
dimname
name=somevalue
现在,你创建了一个变量。
变量名是"name"。
您也可以通过使用其名称来创建变量。
比如这样:
name=somevalue
这样,您同样创建了一个名为"name"的变量。
不过,后面这样的做法不是一种好习惯,这是因为您可能会在脚本中拼错变量名,那样可能会在脚本运行时引起奇怪的结果。
比如,当您把"name"变量错拼为"nime"时,脚本会自动创建一个名为"nime"的变量。
为了防止脚本这样做,您可以使用OptionExplicit语句。
如果您使用这个语句,就必须使用dim、public或private语句来声明所有的变量。
把OptionExplicit语句放置于脚本的顶端,这像这样:
optionexplicit
dimname
name=somevalue
2.4为变量赋值
您可以像这样为某个变量赋值:
name="George"
i=300
变量名在表达式的左侧,需要赋的值在表达式的右侧。
现在,变量"name"的值是"George"。
2.5变量的生存期
变量的生存期指的是它可以存在的时长。
当您在一个子程序中声明变量后,变量只能在此程序内进行访问。
当退出此程序时,变量也会失效。
这样的变量称为本地变量。
您可以在不同的子程序中使用名称相同的本地变量,因为每个变量只能在声明它的程序内得到识别。
如果您在子程序以外声明了一个变量,在您的页面上的所有子程序都可以访问访问它。
这类变量的生存期始于它们被声明,止于页面被关闭。
2.6数组变量
有时,您需要向一个单一的变量赋于多个值。
那么您可以创建一个可包含一系列值的变量。
这种变量被称为数组。
数组变量的声明使用变量名后跟一个括号()。
在下面的例子中,创建了一个包含三个元素的数组:
dimnames
(2)
括号中的数字是2。
数组的下标以0开始,因为此数组包含三个元素。
这是容量固定的数组。
您可以为数组的每个元素分配数据:
names(0)="George"
names
(1)="John"
names
(2)="Thomas"
同样地,通过使用特定数组元素的下标号,我们也可以取回任何元素的值。
比如:
father=names(0)
您可以在一个数组中使用多达60个维数。
声明多维数组的方法是在括号中用逗号来分隔数字。
比如,我们声明了一个包含5行7列的2维数组:
dimtable(4,6)
3.常数
常数在VBScript中是表示不变的值,用于代替数字或字符串。
其内部定义了许多常数,都是以vb开头,例如在HelloWorld程序中涉及到的MsgBox常数“vbOKOnly”。
除了MsgBox常数外,还有颜色常数、比较常数、日期和时间常数等等,详见参考文档。
内部自带常数,我们可以直接使用。
当自带常数不能满足我们的需求时,我们也可以自定义常数,在VBScript中是使用Const语句来定义常数,该语句的签名如下:
1
[Public |Private]Const constname=expression
主要参数:
Øconstname:
为常数名称,为了区分常数与变量,最好有一套自己的命名规则,这里推荐字母全大写,单词间用下划线分割;
Øexpression:
文字或其他常数,或包括除 Is 外的所有算术运算符和逻辑运算符的任意组合。
常数默认是Public级别,您也可以指定为Private级别,在同一行中声明多个常数需要用逗号分割,常数声明中不能使用变量、自定义函数及内部函数。
下面是常数的一些示例代码:
1
2
3
Const PI=3.14 '常数默认为公有。
Private Const STEP_APPLY="Apply" '定义私有常数。
Const STEP_APPLY="Apply",PI =3.14 '在一行上定义多个常数。
4.运算符
VBScript有一套完整的运算符,包括算术运算符、比较运算符、连接运算符和逻辑运算符。
当表达式中含有多个运算符时,它们的运算优先级是:
算术运算符>比较运算符>逻辑运算符。
所有比较运算符的优先级相同,算术运算符和逻辑运算符的优先级如下所示:
4.1算术运算符
描述
符号
求幂
^
负号
-
乘
*
除
/
整除
\
求余
Mod
加
+
减
-
字符串连接
&
字符串连接(&)运算符不是算术运算符,但是在优先级顺序中,它排在所有算术运算符之后和所有比较运算符之前。
4.2逻辑运算符
描述
符号
逻辑非
Not
逻辑与
And
逻辑或
Or
逻辑异或
Xor
逻辑等价
Eqv
逻辑隐含
Imp
4.3比较运算符
描述
符号
等于
=
不等于
<>
小于
<
大于
>
小于等于
<=
大于等于
>=
对象引用比较
Is
Is运算符是对象引用比较运算符。
它并不比较对象或对象的值,而只是进行检查,判断两个对象引用是否引用同一个对象。
5.VBScript程序
VBScript程序
我们可使用两种程序:
子程序和函数程序。
5.1子程序:
∙是一系列的语句,被封装在Sub和EndSub语句内。
∙可执行某些操作,但不会返回值。
∙可带有通过程序调用来向子程序传递参数。
∙如果没有,必须带有空的圆括号
Submysub()
somestatements
EndSub
Submysub(argument1,argument2)
somestatements
EndSub
5.2函数程序:
∙是一系列的语句,被封装在Function和EndFunction语句内。
∙可执行某些操作并返回值。
∙可带有通过程序调用来向其传递参数。
∙如果没有,必须带有空的圆括号
∙通过向函数程序名赋值的方式,可使其返回值。
Functionmyfunction()
somestatements
myfunction=somevalue
EndFunction
Functionmyfunction(argument1,argument2)
somestatements
myfunction=somevalue
EndFunction
5.3调用子程序或函数程序
可以这样调用某个函数:
name=findname()
此函数名为"findname",函数会返回一个值,这个值会存储于变量"name"中。
或者可以这样做:
msgbox"Yournameis"&findname()
我们通过调用了名为"findname"的函数,这个函数返回的值会显示在消息框中。
可以这样调用子程序:
CallMyProc(argument)
或者,也可以省略Call语句:
MyProcargument
6.VBScript条件语句
经常地,当我们编写代码时,我们需要根据不同的判断执行不同操作。
我们可以使用条件语句完成这个工作。
在VBScript我们可以使用三种条件语句:
if语句
假如你希望在条件为true时执行一系列的代码,可以使用这个语句。
if...then...else语句
假如你希望执行两套代码其中之一,可以使用这个语句。
if...then...elseif语句
假如你希望选择多套代码之一来执行,可以使用这个语句。
selectcase语句
假如你希望选择多套代码之一来执行,可以使用这个语句。
6.1If....Then.....Else
在下面的情况中,您可以使用If...Then...Else语句:
∙在条件为true时,执行某段代码
∙选择两段代码之一来执行时
如果需要在条件为true时只执行一行语句,可以把代码写为一行:
ifi=10Thenmsgbox"Hello"
在上面的代码中,没有.else..语句。
我们仅仅让代码在条件为true时执行一项操作(当i为10时)。
假如我们需要在条件为true时执行不止一条语句,那么就必须在一行写一条语句,然后使用关键词"EndIf"来结束这个语句:
ifi=10Then
msgbox"Hello"
i=i+1
endIf
在上面的代码中,同样没有.else..语句。
我们仅仅让代码在条件为true时执行了多项操作。
假如我们希望在条件为true时执行某条语句,并当条件不为true时执行另一条语句,就必须添加关键词"Else":
ifi=10then
msgbox"Hello"
else
msgbox"Goodbye"
endIf
当条件为true时会执行第一段代码,当条件不成立时执行第二段代码(当i不等于10时)。
6.2If....Then.....Elseif
假如你希望选择多套代码之一来执行,可以使用if...then...elseif语句:
ifpayment="Cash"then
msgbox"Youaregoingtopaycash!
"
elseifpayment="Visa"then
msgbox"Youaregoingtopaywithvisa."
elseifpayment="AmEx"then
msgbox"YouaregoingtopaywithAmericanExpress."
else
msgbox"Unknownmethodofpayment."
endIf
6.3SelectCase
假如你希望选择多套代码之一来执行,可以使用SELECT语句:
selectcasepayment
case"Cash"
msgbox"Youaregoingtopaycash"
case"Visa"
msgbox"Youaregoingtopaywithvisa"
case"AmEx"
msgbox"YouaregoingtopaywithAmericanExpress"
caseElse
msgbox"Unknownmethodofpayment"
endselect
以上代码的工作原理:
首先,我们需要一个简单的表达式(常常是一个变量),并且这个表达式会被做一次求值运算。
然后,表达式的值会与每个case中的值作比较,如果匹配,被匹配的case所对应的代码会被执行。
7.VBScript循环语句
在VBScript中,我们可以使用四种循环语句:
For...Next语句
运行一段语句指定的次数
ForEach...Next语句
针对集合中的每个项目或者数组中的每个元素来运行某段语句。
Do...Loop语句
运行循环,当条件为true或者直到条件为true时。
While...Wend语句
不要使用这个语句-请使用Do...Loop语句代替它。
7.1For...Next循环
如果您已经确定需要重复执行代码的次数,那么您可以使用For...Next语句来运行这段代码。
我们可以使用一个计数器变量,这个变量会随着每次循环递增或递减,例如这样:
Fori=1to10
somecode
Next
For语句规定计数变量以及它的开始值和结束值。
Next语句会以1作为步进值来递增变量i。
7.2Step关键词
通过使用Step关键词,我们可以规定计数变量递增或递减的步进值。
在下面的例子中,计数变量i每次循环的递增步进值为2。
Fori=2To10Step2
somecode
Next
如果要递减计数变量,就必须负的步进值。
并且需要规定小于开始值的结束值。
在下面的例子中,计数变量i每次循环的递减步进值为2。
Fori=10To2Step-2
somecode
Next
7.3退出For...Next
如需退出For...Next语句,可以使用Exit关键词。
8.VBScript函数
∙Date/Time函数
∙Conversion函数
∙Format函数
∙Math函数
∙Array函数
∙String函数
∙其他函数
8.1Date/Time函数
函数
描述
CDate
把一个有效的日期或时间表达式转换为日期类型。
Date
返回当前的系统日期。
DateAdd
返回已添加指定时间间隔的日期。
DateDiff
返回两个日期之间的时间间隔数。
DatePart
返回给定日期的指定部分。
DateSerial
返回日期的指定年、月、日
DateValue
返回日期
Day
返回代表一月中一天的数字(介于并包括1至31之间)
FormatDateTime
返回以日期或时间格式化的表达式。
Hour
返回可代表一天中的小时的数字(介于并包括0至23之间)
IsDate
返回可指示计算表达式能否转换为日期的布尔值。
Minute
返回一个数字,代表小时的分钟(介于并包括0至59)
Month
返回一个数字,代表年的月份(介于并包括1至12之间)。
MonthName
返回指定月份的名称。
Now
返回当前的系统日期和时间。
Second
返回一个数字,代表分钟的秒(介于并包括0至59之间)
Time
返回当前的系统时间。
Timer
返回自12:
00AM以来的秒数。
TimeSerial
返回特定小时、分钟和秒的时间。
TimeValue
返回时间。
Weekday
返回一个数字,代表星期的一天(介于并包括1至7)
WeekdayName
返回星期中指定的一天的星期名。
Year
返回一个代表年份的数字。
Top
8.2Conversion函数
函数
描述
Asc
把字符串中的首字母转换为ANSI字符代码。
CBool
把表达式转换为布尔类型。
CByte
把表达式转换为字节(Byte)类型。
CCur
把表达式转换为货币(Currency)类型。
CDate
把有效的日期和时间表达式转换为日期(Date)类型。
CDbl
把表达式转换为双精度(Double)类型。
Chr
把指定的ANSI字符代码转换为字符。
CInt
把表达式转换为整数(Integer)类型。
CLng
把表达式转换为长整形(Long)类型。
CSng
把表达式转换为单精度(Single)类型。
CStr
把表达式转换为子类型String的variant。
Hex
返回指定数字的十六进制值。
Oct
返回指定数字的八进制值。
Top
8.3Format函数
函数
描述
FormatCurrency
返回作为货币值进行格式化的表达式。
FormatDateTime
返回作为日期或时间进行格式化的表达式。
FormatNumber
返回作为数字进行格式化的表达式。
FormatPercent
返回作为百分数进行格式化的表达式。
Top
8.4Math函数
函数
描述
Abs
返回指定数字的绝对值。
Atn
返回指定数字的反正切。
Cos
返回指定数字(角度)的余弦。
Exp
返回e(自然对数的底)的幂次方。
Hex
返回指定数字的十六进制值。
Int
返回指定数字的整数部分。
Fix
返回指定数字的整数部分。
Log
返回指定数字的自然对数。
Oct
返回指定数字的余弦值。
Rnd
返回小于1但大于或等于0的一个随机数。
Sgn
返回可指示指定的数字的符号的一个整数。
Sin
返回指定数字(角度)的正弦。
Sqr
返回指定数字的平方根。
Tan
返回指定数字(角度)的正切。
8.5Array函数
函数
描述
Array
返回一个包含数组的变量
Filter
返回下标从零开始的数组,其中包含基于特定过滤条件的字符串数组的子集。
IsArray
返回一个布尔值,可指示指定的变量是否是数组。
Join
返回一个由数组中若干子字符串组成的字符串。
LBound
返回指定数组维数的最小下标。
Split
返回下标从0开始的一维数组,包含指定数目的子字符串。
UBound
返回指定数组维数的最大下标。
Top
8.6String函数
函数
描述
InStr
返回字符串在另一字符串中首次出现的位置。
检索从字符串的第一个字符开始。
InStrRev
返回字符串在另一字符串中首次出现的位置。
检索从字符串的最末字符开始。
LCase
把指定字符串转换为小写。
Left
从字符串的左侧返回指定数目的字符。
Len
返回字符串中的字符数目。
LTrim
删除字符串左侧的空格。
RTrim
删除字符串右侧的空格。
Trim
删除字符串左侧和右侧的空格。
Mid
从字符串返回指定数目的字符。
Replace
使用另外一个字符串替换字符串的指定部分指定的次数。
Right
返回从字符串右侧开始指定数目的字符。
Space
返回由指定数目的空格组成的字符串。
StrComp
比较两个字符串,返回代表比较结果的一个值。
String
返回包含指定长度的重复字符的字符串。
StrReverse
反转字符串。
UCase
把指定的字符串转换为大写。
Top
8.7其他函数
函数
描述
CreateObject
创建指定类型对象。
Eval
计算表达式,并返回结果。
GetLocale
返回当前区域设置ID值。
GetObject
返回对文件中automation对象的引用。
GetRef
允许您把VBScript子程序连接到页面上的一个DHTML事件。
InputBox
可显示对话框,用户可在其中输入文本,并/或点击按钮,然后返回结果。
IsEmpty
返回一个布尔值,指示指定的变量是否已被初始化。
IsNull
返回一个布尔值,指示指定的变量是否包含无效数据(Null)。
IsNumeric
返回一个布尔值,指示指定的表达式是否可作为数字来计算。
IsObject
返回一个布尔值,指示指定的表达式是否是一个automation对象。
LoadPicture
返回一个图片对象。
仅用于32位平台。
MsgBox
显示消息框,等待用户点击按钮,并返回指示用户点击了哪个按钮的值。
RGB
返回一个表示RGB颜色值的数字。
Round
对数进行四舍五入。
ScriptEngine
返回使用中的脚本语言。
ScriptEngineBuildVersion
返回使用中的脚本引擎版本号。
ScriptEngineMajorVersion
返回使用中的脚本引擎的主版本号。
ScriptEngineMinorVersion
返回使用中的脚本引擎的次版本号。
SetLocale
设置地区ID,并返回之前的地区ID。
TypeName
返回指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- blissVBscrit 学习