2023年11月30日发(作者:)

Abs 函数 ......................................................................................................................................... 3

Array 函数 ...................................................................................................................................... 3

Asc 函数 .......................................................................................................................................... 4

Atn 函数 .......................................................................................................................................... 4

CBool 函数 ..................................................................................................................................... 5

CByte 函数 ..................................................................................................................................... 5

CCur 函数 ....................................................................................................................................... 6

CDate 函数 .................................................................................................................................... 7

CDbl 函数 ....................................................................................................................................... 7

Chr 函数 ......................................................................................................................................... 8

CInt 函数 ........................................................................................................................................ 8

CLng 函数....................................................................................................................................... 9

Cos 函数 ....................................................................................................................................... 10

CreateObject 函数 .................................................................................................................... 10

CSng 函数 .................................................................................................................................... 12

CStr 函数 ..................................................................................................................................... 12

Date 函数 ..................................................................................................................................... 13

DateAdd 函数 ............................................................................................................................. 14

DateDiff 函数 .............................................................................................................................. 14

DatePart 函数 ........................................................................................................................... 15

DateSerial 函数 .......................................................................................................................... 17

DateValue 函数 .......................................................................................................................... 18

Day 函数 ....................................................................................................................................... 18

Eval 函数 ...................................................................................................................................... 19

Exp 函数 ....................................................................................................................................... 20

Filter 函数 ................................................................................................................................... 20

FormatCurrency 函数 .......................................................................................................... 22

FormatDateTime 函数 ......................................................................................................... 23

FormatNumber 函数 ............................................................................................................. 24

FormatPercent 函数 ............................................................................................................. 25

GetLocale 函数 ........................................................................................................................... 26

GetObject 函数 .......................................................................................................................... 27

GetRef 函数 ................................................................................................................................. 29

Hex 函数 ...................................................................................................................................... 30

Hour 函数 ..................................................................................................................................... 31

InputBox 函数 ............................................................................................................................ 31

InStr 函数 ................................................................................................................................... 32

InStrRev 函数 .......................................................................................................................... 34

IntFix 函数 ............................................................................................................................... 36

IsArray 函数 ................................................................................................................................ 36

IsDate 函数 ................................................................................................................................. 37

IsEmpty 函数 .............................................................................................................................. 38

IsNull 函数 ................................................................................................................................... 38

IsNumeric 函数 .......................................................................................................................... 39

IsObject 函数 .............................................................................................................................. 39

Join 函数 ....................................................................................................................................... 40

LBound 函数 ................................................................................................................................ 41

LCase 函数 ................................................................................................................................... 41

Left 函数 ....................................................................................................................................... 42

Len 函数 ....................................................................................................................................... 43

LoadPicture 函数 ....................................................................................................................... 43

Log 函数 ....................................................................................................................................... 44

LTrimRTrim Trim 函数 .................................................................................................... 44

Mid 函数 ........................................................................................................................................ 45

Minute ........................................................................................................................................... 46

Month 函数 .................................................................................................................................. 46

MonthName 函数....................................................................................................................... 46

MsgBox 函数 ............................................................................................................................. 47

Now ................................................................................................................................................ 49

Oct ................................................................................................................................................. 50

Replace 函数 ............................................................................................................................. 50

RGB 函数 ...................................................................................................................................... 52

Right 函数 .................................................................................................................................... 53

Rnd 函数 ...................................................................................................................................... 53

Round 函数 .................................................................................................................................. 54

Microsoft(R) Visual Basic(R) Scripting Edition .............................................................. 55

ScriptEngineMajorVersion 函数 ........................................................................................... 56

ScriptEngineMinorVersion 函数 ............................................................................................ 56

Second 函数 ................................................................................................................................ 57

SetLocale 函数 ........................................................................................................................... 57

Sgn 函数 ...................................................................................................................................... 58

Sin 函数 ........................................................................................................................................ 59

Space 函数 .................................................................................................................................. 60

Split 函数 .................................................................................................................................... 60

Sqr 函数 ........................................................................................................................................ 61

StrComp 函数 ........................................................................................................................... 62

String 函数 .................................................................................................................................. 63

StrReverse 函数 ......................................................................................................................... 64

Tan 函数 ........................................................................................................................................ 64

Time 函数 ..................................................................................................................................... 65

Timer 函数 ................................................................................................................................... 65

TimeSerial 函数 ......................................................................................................................... 65

TimeValue .................................................................................................................................... 66

TypeName 函数 ....................................................................................................................... 67

UBound 函数 ............................................................................................................................. 68

UCase 函数 .................................................................................................................................. 69

VarType 函数 ............................................................................................................................ 69

Weekday 函数 .......................................................................................................................... 70

WeekDayName 函数 ............................................................................................................. 72

Year 函数 ...................................................................................................................................... 73

VBS函数大全

Abs 函数

返回数字的绝对值。

Abs(number)

numbernumberNull

参数可以是任意有效的数值表达式。如果 包含 Null,则返回 ;如果是未初始

化变量,则返回 0

说明

数字的绝对值是其无符号的数值大小。例如,-1 1 都返回 1

Abs()Abs()

下面示例利用 函数计算数字的绝对值:

Abs

Dim MyNumber

MyNumber = Abs(50.3 ) '返回 50.3

MyNumber = Abs(-50.3) '返回 50.3

Array 函数

返回包含数组

Variant

Array(arglist)

arglistVariant

参数是赋给包含在 中的数组元素的值的列表(用逗号分隔)。如果没有指定此参数,

则将会创建零长度的数组。

说明

用于引用数组元素的表示符,由跟随有括号的变量名组成,括号中包含指示所需元素的索引号。在下面的

示例中,第一条语句创建名为 A 的变量。第二条语句将一个数组赋值给变量 A。最后一条语句将包含在

第二个数组元素中的值赋值给另一个变量。

Dim A

A = Array(10,20,30)

B = A(2) ' B is now 30

注意 VariantVariant

未作为数组声明的变量仍可以包含数组。虽然包含数组的 变量与包含 元素的数

组变量有概念上的不同,但访问数组元素的方法是相同的。

Asc 函数

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

Asc(string)

stringstring

参数是任意有效的字符串表达式。如果 参数未包含字符,则将发生运行时错误

说明

下面例子中, 返回每一个字符串首字母的 ANSI 字符代码:

Asc

Dim MyNumber

MyNumber = Asc("A") '返回 65

MyNumber = Asc("a") '返回 97

MyNumber = Asc("Apple") '返回 65

注意 AscBAscB

函数和包含字节数据的字符串一起使用。 不是返回第一个字符的字符代码,而是返回

首字节。 是为使用 Unicode 字符的 32 位平台提供的。 它返回 Unicode (宽型)字符代码,

AscW

因此可以避免从 ANSI Unicode 的代码转换。

Atn 函数

返回数值的反正切值。

Atn(number)

number

参数可以是任意有效的数值表达式

说明

Atnnumber

函数计算直角三角形两个边的比值 () 并返回对应角的弧度值。此比值是该角对边的长度与

邻边长度之比。 结果的范围是从 -pi/2 pi/2 弧度。

弧度变换为角度的方法是将弧度乘以 pi/180。反之,角度变换为弧度的方法是将角度乘以180/pi

下面的示例利用 来计算 pi 的值:

Atn

Dim pi

pi = 4 * Atn(1) ' 计算 pi 的值。

注意AtnTanAtn

(将角作为参数返回直角三角形两边的比值)的反三角函数。不要混淆 与余切(正

切的倒数 (1/tangent))函数。

CBool 函数

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

BooleanVariant

CBool(expression)

expression

是任意有效的表达式。

说明

如果 是零,则返回 ;否则返回 。如果 不能解释为数值,则将

expressionFalseTrueexpression

发生运行时错误

下面的示例使用 函数将一个表达式转变成 类型。如果表达式所计算的值非零,则

CBoolBoolean

CBoolTrueFalse

函数返回 ;否则返回

Dim A, B, Check

A = 5: B = 5 ' 初始化变量。

Check = CBool(A = B) '复选框设为 True

A = 0 '定义变量。

Check = CBool(A) '复选框设为 False

CByte 函数

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

ByteVariant

CByte(expression)

expression

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

说明

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

认类型。例如,在出现货币、单精度、双精度或整数运算的情况下,使用 强制执行字节运算。

CByte

CByteByte

函数用于进行从其他数据类型到 子类型的的国际公认的格式转换。例如对十进制分隔符(如

千分符)的识别,可能取决于系统的区域设置。

如果 Byte 子类型可接受的范围之外,则发生错误。下面的示例利用 函数把

expressionCByte

expression 转换为 byte:

Dim MyDouble, MyByte

MyDouble = 125.5678 ' MyDouble 是一个双精度值。

MyByte = CByte(MyDouble) ' MyByte 包含 126

CCur 函数

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

CurrencyVariant

CCur(expression)

expression

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

说明

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

而非默认的数据类型。例如在整数运算的情况下,使用 函数强制进行货币计算。

CCur

CCurCurrency

函数用于进行从其他数据类型到 子类型的国际公认的格式转换。例如,对十进制分隔

符和千位分隔符的识别取决于系统的区域设置。

下面的示例使用 函数将一个表达式转换成 Currency 类型:

CCur

Dim MyDouble, MyCurr

MyDouble = 543.214588 ' MyDouble 是双精度的。

MyCurr = CCur(MyDouble * 2) ' MyDouble * 2 (1086.429176) 的结果转换为 Currency (1

086.4292)

CDate 函数

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

DateVariant

CDate(date)

date

参数是任意有效的日期表达式

说明

IsDatedateCDate

函数用于判断 是否可以被转换为日期或时间。 识别日期文字和时间文字,以及一

些在可接受的日期范围内的数字。在将数字转换为日期时,数字的整数部分被转换为日期,分数部分被转

换为从午夜开始计算的时间。

CDate

根据系统的区域设置识别日期格式。如果数据的格式不能被日期设置识别,则不能判断年、月、

日的正确顺序。另外,如果长日期格式包含表示星期几的字符串,则不能被识别。

下面的示例使用 函数将字符串转换成日期类型。一般不推荐使用硬件译码日期和时间作为字符串

CDate

(下面的例子已体现)。而使用时间和日期文字 ( #10/19/1962#, #4:45:23 PM#)

MyDate = "October 19, 1962" ' 定义日期。

MyShortDate = CDate(MyDate) ' 转换为日期数据类型。

MyTime = "4:35:47 PM" ' 定义时间。

MyShortTime = CDate(MyTime) ' 转换为日期数据类型。

CDbl 函数

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

DoubleVariant

CDbl(expression)

expression

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

说明

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

而非默认的数据类型。例如在出现货币或整数运算的情况下,使用 函数强制进行双精度

CDblCSng

或单精度算术运算。

CDblDouble

函数用于进行从其他数据类型到 子类型的国际公认的格式转换。例如,十进制分隔符和

千位分隔符的识别取决于系统的区域设置。

下面的示例利用 函数把 expression 转换为

CDblDouble

Dim MyCurr, MyDouble

MyCurr = CCur(234.456784) ' MyCurr Currency (234.4567)

MyDouble = CDbl(MyCurr * 8.2 * 0.01) ' 把结果转换为 Double (19.2254576)

Chr 函数

返回与指定的 ANSI 字符代码相对应的字符。

Chr(charcode)

charcode

参数是可以标识字符的数字。

说明

0 31 的数字表示标准的不可打印的 ASCII 代码。例如,10 返回换行符。

Chr()

下面例子利用 函数返回与指定的字符代码相对应的字符:

Chr

Dim MyChar

MyChar = Chr(65) '返回 A

MyChar = Chr(97) '返回 a

MyChar = Chr(62) '返回 >

MyChar = Chr(37) '返回 %

注意 ChrBChrB

函数与包含在字符串中的字节数据一起使用。 不是返回一个或两个字节的字符,而总是

返回单个字节的字符。 是为使用 Unicode 字符的 32 位平台提供的。它的参数是一个 Unicode

ChrW

(宽字符)的字符代码,因此可以避免将 ANSI 转化为 Unicode 字符。

CInt 函数

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

IntegerVariant

CInt(expression)

expression

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

说明

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

认类型。例如,在出现货币、单精度或双精度运算的情况下,使用 强制执行整数运算。

CIntCLng

CIntInteger

函数用于进行从其他数据类型到 子类型的国际公认的格式转换。例如对十进制分隔符(如

千分符)的识别,可能取决于系统的区域设置。

如果 Integer 子类型可接受的范围之外,则发生错误。

expression

下面的示例利用 函数把值转换为 Integer:

CInt

Dim MyDouble, MyInt

MyDouble = 2345.5678 ' MyDouble Double

MyInt = CInt(MyDouble) ' MyInt 包含 2346

注意 CIntFixInt

不同于 函数删除数值的小数部分,而是采用四舍五入的方式。 当小数部分正好

等于 0.5 , 总是将其四舍五入成最接近该数的偶数。例如, 0.5 四舍五入为 0, 以及 1.5 四舍

CInt

五入为 2.

CLng 函数

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

LongVariant

CLng(expression)

expression

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

说明

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

而非默认的数据类型。例如,在出现货币运算、单精度或双精度算术运算的情况下,使用

CIntCLng

函数强制进行整数运算。

CLngLong

函数用于进行从其他数据类型到 子类型的的国际公认的格式转换。例如,对十进制分隔符

和千位分隔符的识别取决于系统的区域设置。

如果 取值不在 Long子类型的允许范围内,则会出现错误。

expression

下面的示例利用 函数把值转换为 Long:

CLng

Dim MyVal1, MyVal2, MyLong1, MyLong2

MyVal1 = 25427.45: MyVal2 = 25427.55 ' MyVal1, MyVal2 是双精度值。

MyLong1 = CLng(MyVal1) ' MyLong1 25427

MyLong2 = CLng(MyVal2) ' MyLong2 包含 25428

注意 CLngFixInt

不同于 函数删除小数部分, 而是采用四舍五入的方式。 当小数部分正好等于

0.5 时, 函数总是将其四舍五入为最接近该数的偶数。如, 0.5 四舍五入为 0, 以及 1.5 四舍

CLng

五入为 2

Cos 函数

返回某个角的余弦值。

Cos(number)

number

参数可以是任何将某个角表示为弧度的有效数值表达式

说明

Cos

函数取某个角并返回直角三角形两边的比值。此比值是直角三角形中该角的邻边长度与斜边长度之

比。 结果范围在 -1 1 之间。

角度转化成弧度方法是用角度乘以 pi/180 反之,弧度转化成角度的方法是用弧度乘以 180/pi

下面的示例利用 函数返回一个角的余弦值:

Cos

Dim MyAngle, MySecant

MyAngle = 1.3 ' 用弧度定义一个角。

MySecant = 1 / Cos(MyAngle) ' 计算正割。

CreateObject 函数

创建并返回对 Automation 对象的引用。

CreateObject(me [, location])

参数

servername

必选项。提供对象的应用程序名称。

typename

必选项。要创建的对象类型或类。

location

可选项。对象所在的网络服务器将被创建。

说明

Automation 服务器至少提供一种对象类型。例如,字处理应用程序可以提供应用程序对象、文档对象和

工具条对象。

要创建 Automation 对象,将 函数返回的对象赋值给某对象变量:

CreateObject

Dim ExcelSheet

Set ExcelSheet = CreateObject("Excel.Sheet")

上述代码启动创建对象(在此实例中,是 Microsoft Excel 电子表格)的应用程序。对象创建后,就可以

在代码中使用定义的对象变量引用此对象。在下面的示例中,可使用对象变量、ExcelSheet 和其他 Excel

对象,包括 Application 对象和 Cells 集合访问新对象的属性和方法。例如:

' Make Excel visible through the Application object.

e = True

' Place some text in the first cell of the sheet.

(1,1).Value = "This is column A, row 1"

' Save the sheet.

"C:"

' Close Excel with the Quit method on the Application object.

' Release the object variable.

Set ExcelSheet = Nothing

在远程服务器上创建一个对象, Internet 安全关闭时只能完成。通过传递计算机名到

CreateObject

服务器名的参数,能在远程网络上创建对象。该名称如同共享部份的机器名。例如网络共享名命名为:

"myserverpublic", "myserver"。另外,只能指定 使用 DNS 格式或

servernameservername

IP 地址。

以下代码返回运行在命名为"myserver"的远程网络计算机上 Excel 实例的版本号 :

Function GetVersion

Dim XLApp

Set XLApp = CreateObject("ation", "MyServer")

GetVersion = n

End Function

错误发生在指定的远程服务器不存在或无法找到。

CSng 函数

返回表达式,该表达式已被转换为 子类型的

SingleVariant

CSng(expression)

expression

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

说明

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

认类型。例如,在出现货币或整数运算的情况下,使用 强制执行双精度或单精度运算。

CDblCSng

CSngSingle

函数用于进行从其他数据类型到 子类型的国际公认的格式转换。例如,对十进制分隔符(如

千分符)的识别取决于系统的区域设置。

如果 Single 子类型允许的范围之外,则发生错误。

expression

下面的示例利用 函数把值转换为 :

CSngSingle

Dim MyDouble1, MyDouble2, MySingle1, MySingle2 ' MyDouble1, MyDouble2 是双精度值。

MyDouble1 = 75.3421115: MyDouble2 = 75.3421555

MySingle1 = CSng(MyDouble1) ' MySingle1 包含 75.34211

MySingle2 = CSng(MyDouble2) ' MySingle2 包含 75.34216

CStr 函数

返回表达式,该表达式已被转换为 子类型的

StringVariant

CStr(expression)

expression

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

说明

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

认类型。例如,使用 强制将结果表示为

CStrString

CStrStrString

函数用于替代 函数来进行从其他数据类型到 子类型的国际公认的格式转换。例如对十

进制分隔符的识别取决于系统的区域设置。

expression

根据下表决定返回的数据:

如果 expression CStr 返回

Boolean

Date

Null

Empty

Error

其他数值 ,包含此数字。

字符串,包含 True False

字符串

,包含系统的短日期格式日期。

运行时错误。

零长度 ("")

字符串

字符串

,包含跟随有错误号码的单词 Error

字符串

下面的示例利用 函数把数字转换为 :

CStrString

Dim MyDouble, MyString

MyDouble = 437.324 ' MyDouble 是双精度值。

MyString = CStr(MyDouble) ' MyString 包含 "437.324"

Date 函数

返回当前系统日期。

Date

说明

下面的示例利用 函数返回当前系统日期:

Date

Dim MyDate

MyDate = Date ' MyDate 包含当前系统日期。

DateAdd 函数

返回已添加指定时间间隔的日期。

DateAdd(interval, number, date)

参数

interval

必选项。字符串表达式,表示要添加的时间间隔。有关数值,请参阅设置部分。

number

必选项。数值表达式,表示要添加的时间间隔的个数。数值表达式可以是正数(得到未来的日期)或负数

(得到过去的日期)。

date

必选项。 或要添加 的表示日期的文字。

Variantinterval

DateDiff 函数

返回两个日期之间的时间间隔。

DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

DateDiff

函数的语法有以下参数:

参数

interval

必选项。String expression 表示用于计算 之间的时间间隔。有关数值,请参阅

date1date2

部分。

date1, date2

必选项。日期表达式。用于计算的两个日期。

Firstdayofweek

可选项。指定星期中第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅设置部分。

Firstweekofyear

可选项。指定一年中第一周的常数。如果没有指定,则默认为 1 1 日所在的星期。有关数值,请参阅

设置部分。

DatePart 函数

返回给定日期的指定部分。

DatePart(interval, date[, firstdayofweek[, firstweekofyear]])

Arguments

interval

必选项。字符串表达式表示要返回的时间间隔。有关数值,请参阅设置部分。

Date

必选项。要计算的日期表达式。

firstdayof week

可选项。指定星期中的第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅设置部分。

Firstweekofyear

可选项。指定一年中第一周的常数。如果没有指定,则默认为 1 1 日所在的星期。有关数值,请参阅

设置部分。

设置

interval

参数可以有以下值:

设置 描述

yyyy

q

m

y

d

w

季度

一年的日数

一周的日数

ww

h

n

s

firstdayofweek 参数可以有以下值:

常数 描述

vbUseSystem 0

vbSunday 1

vbMonday 2

vbTuesday 3

使用区域语言支持 (NLS) API 设置。

星期日(默认)

星期一

星期二

星期三

星期四

星期五

星期六

小时

分钟

vbWednesday 4

vbThursday 5

vbFriday 6

vbSaturday 7

firstweekofyear 参数可以有以下值:

常数 描述

vbUseSystem 0

vbFirstJan1 1

使用区域语言支持 (NLS) API 设置。

1 1 日所在的星期开始(默认)。

由在新年中至少有四天的第一周开始。

由在新的一年中第一个完整的周(不跨年度)开始。

vbFirstFourDays 2

vbFirstFullWeek 3

说明

DatePartDatePart

函数用于计算日期并返回指定的时间间隔。例如使用 计算某一天是星期几或当前

的时间。

firstdayofweek

参数会影响使用“w”“ww”间隔符号的计算。

如果 是日期文字,则指定的年度会成为日期的固定部分。但是如果 被包含在引号 (" ") 中,

datedate

并且省略年份,则在代码中每次计算 表达式时,将插入当前年份。这样就可以编写适用于不同年份

date

的程序代码。.

下面的示例利用 函数获得日期并显示该日所在的季节。

DatePart

Function GetQuarter(TheDate)

GetQuarter = DatePart("q", TheDate)

End Function

DateSerial 函数

对于指定的年、月、日,返回 子类型的

DateVariant

DateSerial(year, month, day)

Arguments

Year

100 9999 之间的数字或数值表达式

Month

任意数值表达式。

Day

任意数值表达式。

说明

要指定日期,如 1991 12 31 日, 函数中每个参数的取值范围都应该是可接受的;

DateSerial

即日的取值应在 1 31 之间,月的取值应在 1 12 之间。但是,也可以使用表示某日之前或之后

的年、月、日数目的数值表达式为每个参数指定相对日期。

以下样例中使用了数值表达式代替绝对日期。在这里, 函数返回 1990 8 1 日之前

DateSerial

十年 (1990 - 10) 零两个月 (8 - 2) 又一天 (1 - 1) 的日期:即 1980 5 31 日。

Dim MyDate1, MyDate2

MyDate1 = DateSerial(1970, 1, 1) ' Returns January 1, 1970.

MyDate2 = DateSerial(1990 - 10, 8 - 2, 1 - 1) ' Returns May 31, 1980.

对于 参数,若取值范围是从 0 99则被解释为 1900 1999 年。对于此范围之外的

yearyear

参数,则使用四位数字表示年份(例如 1800 年)。

当任何一个参数的取值超出可接受的范围时,则会适当地进位到下一个较大的时间单位。例如,如果指定

35 天,则这个天数被解释成一个月加上多出来的日数,多出来的日数取决于其年份和月份。但是如果

参数值超出 -32,768 32,767 的范围,或者由三个参数指定(无论是直接还是通过表达式指定)的日

期超出了可以接受的日期范围,就会发生错误。

DateValue 函数

返回 Date 子类型的 Variant

DateValue(date)

date

参数应是字符串表达式,表示从 100 1 1 日到 9999 12 31 日中的一个日期。但

是, 也可以是表示上述范围内的日期、时间或日期时间混合的任意表达式。

date

说明

如果 参数包含时间信息, 不会返回时间信息。但是如果 包含无效的时间信息

dateDateValuedate

(如 "89:98"),就会出现错误。

如果 是某一字符串,其中仅包含由有效的日期分隔符分隔开的数字, 将会根据为系

dateDateValue

统指定的短日期格式识别月、日和年的顺序。 还会识别包含月份名称(无论是全名还是缩写)

DateValue

的明确日期。例如,除了能够识别 12/30/1991 12/30/91 之外, 还能识别 December

DateValue

30, 1991 Dec 30, 1991

如果省略了 的年份部分, 将使用计算机系统日期中的当前年份。

dateDateValue

下面的示例利用 函数将字符串转化成日期。也可以利用日期文字直接将日期分配给

DateValue

Variant

变量, 例如, MyDate = #9/11/63#.

Dim MyDate

MyDate = DateValue("September 11, 1963") ' 返回日期。

Day 函数

返回 1 31 之间的一个整数(包括 1 31),代表某月中的一天。

date date Null

参数是任意可以代表日期的表达式。如果参数中包含Null,则返回

下面例子利用 函数得到一个给定日期月的天数:

Day

Dim MyDay

MyDay = Day("October 19, 1962") 'MyDay 包含 19

Eval 函数

计算一个表达式的值并返回结果。

[result = ]Eval(expression)

参数

result

可选项。 是一个变量,用于接受返回的结果。如果未指定结果,应考虑使用 语句代替。

Execute

expression

必选项。可以是包含任何有效 VBScript 表达式的字符串。

说明

VBScript 中, 可以有两种解释。第一种方式是赋值语句,将 的值赋予 。第二种解释是测

x = yyx

是否相等。如果相等, ;否则 方法总是采用第二种

xyresultTrueresultFalseEval

解释,而 语句总是采用第一种。

Execute

注意

Microsoft(R) Visual Basic Scripting Edition 中不存在这种比较与赋值的混淆,因为赋值运算

(=)比较运算符 (==)不同。

下面的例子说明了 函数的用法:

Eval

Sub GuessANumber

Dim Guess, RndNum

RndNum = Int((100) * Rnd(1) + 1)

Guess = CInt(InputBox("Enter your guess:",,0))

Do

If Eval("Guess = RndNum") Then

MsgBox "祝贺你!猜对了!"

Exit Sub

Else

Guess = CInt(InputBox("对不起,请再试一次",,0))

End If

Loop Until Guess = 0

End Sub

Exp 函数

返回 (自然对数的底)的幂次方。

e

Exp(number)

number

参数可以是任意有效的数值表达式

说明

如果 参数超过 709.782712893,则出现错误。常数 的值约为 2.718282

numbere

注意ExpLog

函数完成 函数的反运算,并且有时引用为反对数形式。

下面的示例利用 函数返回 e 的幂次方:

Exp

Dim MyAngle, MyHSin ' 用弧度定义角。

MyAngle = 1.3 '计算双曲线的正弦。

MyHSin = (Exp(MyAngle) - Exp(-1 * MyAngle)) / 2

Filter 函数

返回下标从零开始的 数组,其中包含以特定过滤条件为基础的字符串数组的子集。

Filter(InputStrings, Value[, Include[, Compare]])

参数

InputStrings

必选项。一维数组,要在其中搜索字符串。

Value

必选项。要搜索的字符串。

Include

可选项。Boolean 值,指定返回的子字符串是否包含 。如果 将返回

ValueIncludeTrueFilter

包含子字符串 的数组子集。如果 将返回不包含子字符串

ValueInclude FalseFilterValue

数组子集。

Compare

可选项。数字值指出使用的比较字符串 类型.请参阅值设置部分.

设置

Compare

参数可以有以下值:

常数 描述

vbBinaryCompare 0

vbTextCompare 1

执行二进制比较。

执行文本比较。

说明

如果在 中没有找到与 匹配的值, 将返回空数组。如果

InputStringsValueFilterInputStrings

Null

或者不是一维数组,则会发生错误。

函数返回的数组仅包含足以包含匹配项数目的元素。

Filter

下面例子利用 函数返回包含搜索条件 "Mon" 的数组:

Filter

Dim MyIndex

Dim MyArray (3)

MyArray(0) = "Sunday"

MyArray(1) = "Monday"

MyArray(2) = "Tuesday"

MyIndex = Filter(MyArray, "Mon") 'MyIndex(0) 包含 "Monday"

FormatCurrency 函数

返回表达式,此表达式已被格式化为货币值(使用系统控制面板中定义的货币符号)。

FormatCurrency(

expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers

[,GroupDigits]]]]

)

参数

Expression

必选项。要被格式化的表达式。

NumDigitsAfterDecimal

可选项。指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。

IncludeLeadingDigit

可选项。三态常数,指示是否显示小数值小数点前面的零。有关数值,请参阅设置部分。

UseParensForNegativeNumbers

可选项。三态常数,指示是否将负值置于括号中。有关数值,请参阅设置部分。

GroupDigits

可选项。三态常数,指示是否使用计算机区域设置中指定的数字分组符号将数字分组。有关数值,请参阅

部分。

设置

IncludeLeadingDigitUseParensForNegativeNumbers GroupDigits 参数可以有以下值:

常数 描述

TristateTrue -1 True

TristateFalse 0 False

使用计算机区域设置中的设置。

TristateUseDefault -2

说明

当省略一个或多个可选项参数时,由计算机区域设置提供被省略参数的值。 与货币值相关的货币符号的位

置由系统的区域设置决定。

注意

显示起始的零设置来自区域设置的数字附签外,所有其他设置信息均取自区域设置的货币

签。

下面例子利用 函数把 expression 格式化为 currency 并且赋值给

FormatCurrency

MyCurrency:

Dim MyCurrency

MyCurrency = FormatCurrency(1000) 'MyCurrency 包含 $1000.00

FormatDateTime 函数

返回表达式,此表达式已被格式化为日期或时间。

FormatDateTime(Date[, NamedFormat])

参数

Date

必选项。要被格式化的日期表达式。

NamedFormat

可选项。指示所使用的日期/时间格式的数值,如果省略,则使用

vbGeneralDate

设置

NamedFormat 参数可以有以下值:

常数 描述

vbGeneralDate 0

显示日期和/或时间。如果有日期部分,则将该部分显示为短日期格式。如

果有时间部分,则将该部分显示为长时间格式。如果都存在,则显示所有部

分。

vbLongDate 1

vbShortDate 2

vbLongTime 3

vbShortTime 4

使用计算机区域设置中指定的长日期格式显示日期。

使用计算机区域设置中指定的短日期格式显示日期。

使用计算机区域设置中指定的时间格式显示时间。

使用 24 小时格式 (hh:mm) 显示时间。

说明

下面例子利用 函数把表达式格式化为长日期型并且把它赋给 MyDateTime:

FormatDateTime

Function GetCurrentDate

'FormatDateTime 把日期型格式化为长日期型。

GetCurrentDate = FormatDateTime(Date, 1)

End Function

FormatNumber 函数

返回表达式,此表达式已被格式化为数值。

FormatNumber(

expression [,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers

[,GroupDigits]]]]

)

Arguments

Expression

必选项。要被格式化的表达式。

NumDigitsAfterDecimal

可选项。指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。

IncludeLeadingDigit

可选项。三态常数,指示是否显示小数值小数点前面的零。有关数值,请参阅设置部分。

UseParensForNegativeNumbers

可选项。三态常数,指示是否将负值置于括号中。有关数值,请参阅设置部分。

GroupDigits

可选项。三态常数,指示是否使用计算机区域设置中指定的数字分组符号将数字分组。有关数值,请参阅

部分。

设置

IncludeLeadingDigitUseParensForNegativeNumbers GroupDigits 参数可以有以下值:

常数 描述

TristateTrue -1 True

TristateFalse 0 False

使用计算机区域设置中的设置。

TristateUseDefault -2

说明

当省略一个或多个可选项参数时,由计算机区域设置提供被省略参数的值。

注意

所有设置信息均取自区域设置的数字附签。

下面例子利用 函数把数值格式化为带四位小数点的数:

FormatNumber

Function FormatNumberDemo

Dim MyAngle, MySecant, MyNumber

MyAngle = 1.3 ' 用弧度定义角。

MySecant = 1 / Cos(MyAngle) ' 计算正割值。

FormatNumberDemo = FormatNumber(MySecant,4) ' MySecant 格式化为带四位小数点的

数。

End Function

FormatPercent 函数

返回表达式,此表达式已被格式化为尾随有 % 符号的百分比(乘以 100 )。

FormatPercent(expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit

[,UseParensForNegativeNumbers [,GroupDigits]]]])

FormatPercent 函数的语法有以下参数:

参数

Expression

必选项。要被格式化的表达式。

NumDigitsAfterDecimal

可选项。指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。

IncludeLeadingDigit

可选项。三态常数,指示是否显示小数值小数点前面的零。有关数值,请参阅设置部分。

UseParensForNegativeNumbers

可选项。三态常数,指示是否将负值置于括号中。有关数值,请参阅设置部分。

GroupDigits

可选项。三态常数,指示是否使用计算机区域设置中指定的数字分组符号将数字分组。有关数值,请参阅

部分。

设置

IncludeLeadingDigitUseParensForNegativeNumbers GroupDigits 参数可以有以下值:

常数 描述

TristateTrue -1 True

TristateFalse 0 False

使用计算机区域设置中的设置。

TristateUseDefault -2

说明

当省略一个或多个可选项参数时,由计算机区域设置提供被省略参数的值。

注意

所有设置信息均取自区域设置的数字附签。

下面例子利用 函数把表达式格式化为百分数:

FormatPercent

Dim MyPercent

MyPercent = FormatPercent(2/32) 'MyPercent 包含 6.25%

GetLocale 函数

返回当前区域设置 ID 值。

GetLocale()

说明

localelocale

是用户参考信息集合,与用户的语言、国家和文化传统有关。 决定键盘布局、字母排序顺序

和日期、时间、数字与货币格式。

返回值可以是任意一个 32- 的值,如 区域设置 ID所示:

下面举例说明 函数的用法。要使用该代码,请复制标准HTML 文件中 标志之

GetLocale

间的所有内容。

Enter Date in UK format: type="text" id="UKDate" size="20">

Here's the US equivalent: type="text" id="USdate" size="20">

type="button" value="Convert" id="button1">

Enter a price in German:   type="text" id="GermanNumber" size="20">

Here's the UK equivalent: type="text" id="USNumber" size="20">

type="button" value="Convert" id="button2">

GetObject 函数

返回对文件中 Automation 对象的引用。

GetObject([pathname] [, class])

参数

Pathname

可选项。字符串,包含待检索对象的文件的完整路径和名称。如果省略 则必须有

pathnameclass

Class

可选项。字符串,对象的

classype

参数的语法格式为 ,其中包括以下部分:

参数

appname

必选项。字符串,提供对象的应用程序名称。

objectype

必选项。字符串,要创建的对象的类型或类。

说明

使用 函数可以访问文件中的 Automation 对象,而且可以将该对象赋值给对象变量。使用

GetObject

SetGetObject

语句将 返回的对象赋值给对象变量。例如:

Dim CADObject

Set CADObject = GetObject("C:")

在执行上述代码时,就会启动与指定路径名相关联的应用程序,同时激活指定文件中的对象。如果

pathnameGetObjectpathname

是零长度字符串 ("") 返回指定类型的新对象实例。如果省略

数, 将返回指定类型的当前活动对象。如果没有指定类型的对象,就会出现错误。

GetObject

某些应用程序允许只激活文件的一部分,方法是在文件名后加上一个惊叹号 (!) 以及用于标识要激活的文

件部分的字符串。有关创建这种字符串的详细信息,请参阅创建对象的应用程序的有关文档。

例如,在绘图应用程序中,一个存放在文件中的图可能有多层。可以使用下述代码来激活图

中的某一层:

Set LayerObject = GetObject("C:CADSCHEMA.CAD!Layer3")

如果没有指定对象的类,则 Automation 会根据所提供的文件名,确定要启动的应用程序以及要激活的

对象。但是,有些文件可能支持多个对象类。例如,图可能支持三种不同类型的对象:Application 对象、

Drawing 对象和 Toolbar 对象,所有这些都是同一个文件中的一部分。使用可选项的 参数可以

class

指定文件中要激活的对象。例如:

Dim MyObject

Set MyObject = GetObject("C:", "G")

在上述样例中,FIGMENT 是绘图应用程序的名称,而 DRAWING 则是它支持的一种对象类型。对象被

激活之后,就可以在代码中使用所定义的对象变量来引用它。在前面的例子中,可以使用对象变量

MyObject 访问新对象的属性和方法。例如:

9, 90

Text 9, 100, "嗨,你好!"

"C:"

注意GetObject

在对象的当前实例存在,或者要用已加载的文件创建对象时,请使用 函数。如果没有

当前实例,并且不准备使用已加载的文件启动对象,请使用 函数。

CreateObject

如果对象已注册为单个实例的对象,则无论执行多少次 ,都只能创建该对象的一个实例。

CreateObject

若使用单个实例对象,当使用零长度字符串 ("") 语法调用时, 总是返回同一个实例,而如果

GetObject

省略 参数,则会出现错误。

pathname

GetRef 函数

返回一个指向一过程的引用,此过程可绑定某事件。

Set ame = GetRef(procname)

参数

object

必选项。事件所关联的对象的名称。

eventname

必选项。要与函数绑定的事件的名称。

procname

必选项。该字符串中包含 过程的名称,该过程与事件关联。

SubFunction

说明

GetRefFunctionSub

函数可以用来将 VBScript 过程 ( DHTML (动态 HTML)页面中可用

的任何事件联系在一起。DHTML 对象模型为不同对象提供了与各种可用事件有关的信息。

在其他脚本和程序设计语言中, 所提供的功能被称为函数指针,即它指向了在指定事件发生时要

GetRef

执行的过程的地址。

下面的例子说明了 函数的使用:

GetRef

Hex 函数

返回表示十六进制数字值的字符串。

Hex(number)

number

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

说明

如果 参数不是整数,则在进行运算前将其四舍五入为最接近的整数。

number

如果 number Hex 返回

Null

Empty

其他数 最大到八位的十六进制字符。

Null

(0)

您可以通过在数字前面添加前缀 &H 来表示十六进制数。例如,在十六进制计数法中,&H10 表示十进

制数 16

下面的示例利用 函数返回数字的十六进制数:

Hex

Dim MyHex

MyHex = Hex(5) ' 返回 5

MyHex = Hex(10) ' 返回A

MyHex = Hex(459) ' 返回 1CB

Hour 函数

返回 0 23 之间的一个整数(包括 0 23),代表一天中的某一小时。

Hour(time)

timetimeNull

参数是任意可以代表时间的表达式。如果 参数中包含 Null,则返回

下面的示例利用 函数得到当前时间的小时:

Hour

Dim MyTime, MyHour

MyTime = Now

MyHour = Hour(MyTime)

' MyHour 包含代表当前时间的数值。

InputBox 函数

在对话框中显示提示,等待用户输入文本或单击按钮,并返回文本框内容。

InputBox(prompt[,

title][,default][,xpos][,ypos][,helpfile,context])

参数

prompt

字符串表达式,作为消息显示在对话框中。 的最大长度大约是 1024 个字符,这取决于所使用

prompt

的字符的宽度。如果 中包含多个行,则可在各行之间用回车符 (13)换行符 (10)

promptChr()Chr()

或回车换行符的组合 (1310) 以分隔各行。

Chr() & Chr()

Title

显示在对话框标题栏中的字符串表达式。如果省略 ,则应用程序的名称将显示在标题栏中。

title

Default

显示在文本框中的字符串表达式,在没有其它输入时作为默认的响应值。如果省略 ,则文本框为

default

空。

Xpos

数值表达式,用于指定对话框的左边缘与屏幕左边缘的水平距离(单位为缇)。如果省略 ,则对话

xpos

框会在水平方向居中。

Ypos

数值表达式,用于指定对话框的上边缘与屏幕上边缘的垂直距离(单位为缇)。如果省略 ,则对话

ypos

框显示在屏幕垂直方向距下边缘大约三分之一处。

Helpfile

字符串表达式,用于标识为对话框提供上下文相关帮助的帮助文件。如果已提供 ,则必须提供

helpfile

context

Context

数值表达式,用于标识由帮助文件的作者指定给某个帮助主题的上下文编号。如果已提供 则必

context

须提供

helpfile

说明

如果同时提供了 ,就会在对话框中自动添加帮助按钮。

helpfilecontext

如果用户单击或按下 ,则 函数返回文本框中的内容。如果用户单击,则函

确定ENTERInputBox取消

数返回一个零长度字符串 ("")

下面例子利用 函数显示一输入框并且把字符串赋值给输入变量:

InputBox

Dim Input

Input = InputBox("输入名字")

MsgBox ("输入:" & Input)

InStr 函数

返回某字符串在另一字符串中第一次出现的位置。

InStr([start, ]string1, string2[, compare])

参数

start

可选项。数值表达式,用于设置每次搜索的开始位置。如果省略,将从第一个字符的位置开始搜索。如果

startcomparestart

包含 Null,则会出现错误。如果已指定 ,则必须要有 参数。

string1

必选项。接受搜索的字符串表达式

string2

必选项。要搜索的字符串表达式。

compare

可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅设置部分。如果省略,将执

行二进制比较。

设置

compare

参数可以有以下值:

常数 描述

vbBinaryCompare 0

vbTextCompare 1

执行二进制比较。

执行文本比较。

返回值

InStr

函数返回以下值:

如果 InStr 返回

string1 为零长度

string1 Null

string2 为零长度

string2 Null

string2 没有找到

0

Null

start

Null

0

string1 中找到 string2 找到匹配字符串的位置

start > Len(string2) 0

说明

下面的示例利用 搜索字符串:

InStr

Dim SearchString, SearchChar, MyPos

SearchString ="XXpXXpXXPXXP" ' String to search in.

SearchChar = "P" ' Search for "P".

MyPos = Instr(4, SearchString, SearchChar, 1) ' A textual comparison starting at position

4. Returns 6.

MyPos = Instr(1, SearchString, SearchChar, 0) ' A binary comparison starting at position

1. Returns 9.

MyPos = Instr(SearchString, SearchChar) ' Comparison is binary by default (last argument

is omitted). Returns 9.

MyPos = Instr(1, SearchString, "W") ' A binary comparison starting at position 1. Returns

0 ("W" is not found).

注意InStrBInStrB

函数使用包含在字符串中的字节数据,所以 返回的不是一个字符串在另一个字符

串中第一次出现的字符位置,而是字节位置。

InStrRev 函数

返回某字符串在另一个字符串中出现的从结尾计起的位置。

InStrRev(string1, string2[, start[, compare]])

参数

string1

必选项。接受搜索的字符串表达式

string2

必选项。被搜索的字符串表达式。

Start

可选项。数值表达式,用于设置每次搜索的开始位置。如果省略,则默认值为 -1,表示从最后一个字符的

位置开始搜索。如果 包含 Null,则出现错误

start

compare

可选项。在计算子字符串时,指示要使用的比较类型的数值。如果省略,将执行二进制比较。有关数值,

请参阅设置部分。

设置

compare

参数可以有以下值:

常数 描述

vbBinaryCompare 0

vbDatabaseCompare 2

Value

执行二进制比较。

执行基于包含在数据库(在此数据库中执行比较)中的信息的比

较。

返回值

InStrRev 返回以下值:

如果 InStrRev 返回

string1 为零长度

string1 Null

string2 为零长度

string2 Null

string2 没有找到

0

Null

start

Null

0

string1 中找到 string2 找到匹配字符串的位置

start > Len(string2) 0

说明

下面的示例利用 函数搜索字符串:

InStrRev

Dim SearchString, SearchChar, MyPos

SearchString ="XXpXXpXXPXXP" ' String to search in.

SearchChar = "P" ' Search for "P".

MyPos = InstrRev(SearchString, SearchChar, 10, 0) ' A binary comparison starting at posi

tion 10. Returns 9.

MyPos = InstrRev(SearchString, SearchChar, -1, 1) ' A textual comparison starting at the

last position. Returns 12.

MyPos = InstrRev(SearchString, SearchChar, 8) ' Comparison is binary by default (last ar

gument is omitted). Returns 0.

注意 InStrRevInStr

函数的语法与 函数的语法并不一样。

IntFix 函数

返回数字的整数部分。

Int(number)

Fix(number)

numbernumberNull

参数可以是任意有效的数值表达式。如果 参数包含 Null,则返回

说明

IntFixnumber

函数都删除 参数的小数部分并返回以整数表示的结果。

IntFixnumberIntnumber

函数的区别在于如果 参数为负数时, 函数返回小于或等于 的第一

个负整数, 函数返回大于或等于 参数的第一个负整数。例如, -8.4 转换为 -9

FixnumberInt

函数将 -8.4 转换为 -8

Fix

Fix(number) 等同于:

Sgn(number) * Int(Abs(number))

下面的示例说明 函数如何返回数字的整数部分:

IntFix

MyNumber = Int(99.8) ' 返回 99

MyNumber = Fix(99.2) ' 返回 99

MyNumber = Int(-99.8) ' 返回 -100

MyNumber = Fix(-99.8) ' 返回-99

MyNumber = Int(-99.2) ' 返回 -100

MyNumber = Fix(-99.2) ' 返回 -99

IsArray 函数

返回 Boolean 值指明某变量是否为数组

IsArray(varname)

varname

参数可以是任意变量

说明

如果变量是数组, 函数返回 ;否则,函数返回 。当变量中包含有数组时,使用

IsArrayTrueFalse

IsArray

函数很有效。

下面的示例利用 函数验证 MyVariable 是否为一数组:

IsArray

Dim MyVariable

Dim MyArray(3)

MyArray(0) = "Sunday"

MyArray(1) = "Monday"

MyArray(2) = "Tuesday"

MyVariable = IsArray(MyArray) ' MyVariable 包含 "True"

IsDate 函数

返回 Boolean 值指明某表达式是否可以转换为日期。

IsDate(expression)

expression

参数可以是任意可被识别为日期和时间的日期表达式字符串表达式

说明

如果表达式是日期或可合法地转化为有效日期,则 函数返回 ;否则函数返回 。在

IsDateTrueFalse

Microsoft Windows 操作系统中,有效的日期范围公元 100 1 1 日到公元 9999 12 31

日;合法的日期范围随操作系统不同而不同。

下面的示例利用 函数决定表达式是否能转换为日期型:

IsDate

Dim MyDate, YourDate, NoDate, MyCheck

MyDate = "October 19, 1962": YourDate = #10/19/62#: NoDate = "Hello"

MyCheck = IsDate(MyDate) ' 返回 True

MyCheck = IsDate(YourDate) ' 返回 True

MyCheck = IsDate(NoDate) ' 返回 False

IsEmpty 函数

返回 Boolean 值指明变量是否已初始化。

IsEmpty(expression)

expressionIsEmpty

参数可以是任意表达式。然而,由于 用于判断一个变量是否已初始化,故

expression

参数经常是一个变量名。

说明

如果变量未初始化或显式地设置为 Empty,则函数 返回 ;否则函数返回 。如果

IsEmptyTrueFalse

expressionFalse

包含一个以上的变量,总返回

下面的示例利用 函数决定变量是否能被初始化:

IsEmpty

Dim MyVar, MyCheck

MyCheck = IsEmpty(MyVar) ' 返回 True

MyVar = Null ' 赋为 Null

MyCheck = IsEmpty(MyVar) ' 返回 False

MyVar = Empty ' 赋为 Empty

MyCheck = IsEmpty(MyVar) ' 返回 True

IsNull 函数

返回 Boolean 值,指明表达式是否不包含任何有效数据 (Null)

IsNull(expression)

expression

参数可以是任意表达式

说明

如果 ,则 返回 ,即表达式不包含有效数据,否则 返回

expressionNullIsNullTrueIsNull

FalseexpressionNull

。如果 由多个变量组成,则表达式的任何组成变量中的 都会使整个表达式返

True

NullNull

值指出变量不包含有效数据。 Empty 不同,后者指出变量未经初始化。Null 与零长度字

符串 ("") 也不同,零长度字符串往往指的是空串。

重点IsNullNullTrue

使用 函数可以判断表达式是否包含 值。在某些情况下想使表达式取值为 例如

IfVar=Null IfVar<>Null,但它们通常总是为 。这是因为任何包含 的表达式本身就为

FalseNull

NullFalse

,所以表达式的结果为

下面的示例利用 函数决定变量是否包含

IsNullNull

Dim MyVar, MyCheck

MyCheck = IsNull(MyVar) ' 返回 False

MyVar = Null ' 赋为 Null

MyCheck = IsNull(MyVar) ' 返回 True

MyVar = Empty ' 赋为 Empty

MyCheck = IsNull(MyVar) ' 返回 False

IsNumeric 函数

返回 Boolean 值指明表达式的值是否为数字。

IsNumeric(expression)

expression

参数可以是任意表达式

说明

如果整个 被识别为数字, 函数返回 ;否则函数返回 。如果

expressionIsNumericTrueFalse

expressionIsNumericFalse

日期表达式 函数返回

下面的示例利用 函数决定变量是否可以作为数值:

IsNumeric

Dim MyVar, MyCheck

MyVar = 53 '赋值。

MyCheck = IsNumeric(MyVar) ' 返回 True

MyVar = "459.95" ' 赋值。

MyCheck = IsNumeric(MyVar) ' 返回True

MyVar = "45 Help" ' 赋值。

MyCheck = IsNumeric(MyVar) ' 返回 False

IsObject 函数

返回 Boolean 值指明表达式是否引用了有效的 Automation 对象

IsObject(expression)

expression

参数可以是任意表达式

说明

如果 子类型变量或用户自定义的对象,则 返回 ;否则函数

expressionObjectIsObjectTrue

返回

False

下面的示例利用 函数决定标识符是否代表对象变量:

IsObject

Dim MyInt, MyCheck, MyObject

Set MyObject = Me

MyCheck = IsObject(MyObject) ' 返回 True

MyCheck = IsObject(MyInt) ' 返回 False

Join 函数

返回一个字符串,此字符串由包含在数组中的许多子字符串联接创建。

Join(list[delimiter])

参数

list

必选项。包含要联接的子字符串一维数组。

Delimiter

可选项。在返回字符串中用于分隔子字符串的字符。如果省略,将使用空字符 ("")。如果

delimiter

零长度字符串,则在同一列表中列出全部项,没有分界符。

说明

下面的示例利用 函数联合 MyArray 的子字符串:

Join

Dim MyString

Dim MyArray(3)

MyArray(0) = "Mr."

MyArray(1) = "John "

MyArray(2) = "Doe "

MyArray(3) = "III"

MyString = Join(MyArray) 'MyString 包含 "Mr. John Doe III"

LBound 函数

返回指定数组维的最小可用下标。

LBound(arrayname[, dimension])

参数

arrayname

数组变量名,遵循标准变量命名约定。

Dimension

指明要返回哪一维下界的整数。使用 1 表示第一维,2 表示第二维,以此类推。如果省略

dimension

数,默认值为 1

说明

LBoundUBoundUBound

函数与 函数共同使用以确定数组的大小。使用 函数可以找到数组某一维

的上界。

任一维的下界都是 0

LCase 函数

返回字符串的小写形式。

LCase(string)

stringstringNull

参数是任意有效的字符串表达式。如果 参数中包含 Null,则返回

说明

仅大写字母转换成小写字母;所有小写字母和非字母字符保持不变。

下面的示例利用 函数把大写字母转换为小写字母:

LCase

Dim MyString

Dim LCaseString

MyString = "VBSCript"

LCaseString = LCase(MyString) ' LCaseString 包含 "vbscript"

Left 函数

返回指定数目的从字符串的左边算起的字符。

Left(string, length)

参数

string

字符串表达式,其最左边的字符被返回。如果 参数中包含 Null,则返回

stringNull

Length

数值表达式,指明要返回的字符数目。如果是 0,返回零长度字符串 ("");如果大于或等于 参数

string

中的字符总数,则返回整个字符串。

说明

可使用 函数确定 参数中的字符数目。

Lenstring

下面的示例利用 函数返回MyString 的左边三个字母:

Left

Dim MyString, LeftString

MyString = "VBSCript"

LeftString = Left(MyString, 3) 'LeftString 包含 "VBS"

注意 LeftBlength

函数与包含在字符串中字节数据一起使用。 不是指定返回的字符串数,而是字节数。

Len 函数

返回字符串内字符的数目,或是存储一变量所需的字节数。

Len(string | varname)

参数

string

任意有效的字符串表达式。如果 参数包含 Null,则返回

stringNull

Varname

任意有效的变量名。如果 参数包含 ,则返回

varname NullNull

说明

下面的示例利用 函数返回字符串中的字符数目:

Len

Dim MyString

MyString = Len("VBSCRIPT") 'MyString 包含 8

注意 LenBLenB

函数与包含在字符串中的字节数据一起使用。 不是返回字符串中的字符数,而是返回

用于代表字符串的字节数。

LoadPicture 函数

返回图片对象。

LoadPicture(picturename)

picturename

参数是字符串表达式,该表达式指明了要装入的图片文件的名称。

说明

可以由 识别的图形格式有位图文件 (.bmp)图标文件 (.ico)行程编码文件 (.rle)

LoadPicture

元文件 (.wmf)、增强型图元文件 (.emf)GIF (.gif) 文件和 JPEG (.jpg) 文件。

Log 函数

返回数值的自然对数。

Log(number)

number

参数是任意大于 0 的有效数值表达式

说明

自然对数是以 为底的对数。常数 的值约为 2.718282

ee

的自然对数除 的自然对数,可以得到以 为底的 的对数。如下所示:

nxnx

Logn(x) = Log(x) / Log(n)

以下示例为一个自定义的 过程,该过程计算以 10 为底的对数:

Function

Log10(X) 函数

Log10 = Log(X) / Log(10)

End Function

LTrimRTrim Trim 函数

返回不带前导空格 ()、后续空格 () 或前导与后续空格 () 的字符串副本。

LTrimRTrimTrim

LTrim(string)

RTrim(string)

Trim(string)

stringstringNull

参数是任意有效的字符串表达式。如果 参数中包含 Null,则返回

说明

下面的示例利用 , , 函数分别用来除去字符串开始的空格、尾部空格、 开始和尾

LTrimRTrimTrim

部空格:

Dim MyVar

MyVar = LTrim(" vbscript ") 'MyVar 包含 "vbscript "

MyVar = RTrim(" vbscript ") 'MyVar 包含 " vbscript"

MyVar = Trim(" vbscript ") 'MyVar 包含"vbscript"

Mid 函数

从字符串中返回指定数目的字符。

Mid(string, start[, length])

参数

string

字符串表达式,从中返回字符。如果 包含 Null,则返回

stringNull

Start

stringstartstringMid

中被提取的字符部分的开始位置。如果 超过了 中字符的数目, 将返回零长度

字符串 ("")

Length

要返回的字符数。如果省略或 超过文本的字符数(包括 处的字符),将返回字符串中从

lengthstart

start

到字符串结束的所有字符。

说明

要判断 中字符的数目,可使用 函数。

stringLen

下面的示例利用 函数返回字符串中从第四个字符开始的六个字符:

Mid

Dim MyVar

MyVar = Mid("VB脚本is fun!", 4, 6) 'MyVar 包含 "Script"

注意 MidB

函数与包含在字符串中的字节数据一起使用。其参数不是指定字符数,而是字节数。

Minute

返回 0 59 之间的一个整数(包括 0 59),代表一小时内的某一分钟。

Minute(time)

timetimeNull

参数是任意可以代表时间的表达式。如果 参数包含 Null,则返回

说明

下面的示例利用 函数返回小时的分钟数:

Minute

Dim MyVar

MyVar = Minute(Now)

Month 函数

返回 1 12 之间的一个整数(包括 1 12),代表一年中的某月。

Month(date)

datedateNull

参数是任意可以代表日期的表达式。如果 参数中包含 Null,则返回

说明

下面的示例利用 函数返回当前月:

Month

Dim MyVar

MyVar = Month(Now)

' MyVar 包含当前月对应的数字。

MonthName 函数

返回表明指定月份的字符串。

MonthName(month[, abbreviate])

参数

month

必选项。月份的数值定义。例如,一月是 1,二月是 2,以此类推。

Abbreviate

可选项。Boolean 值,表明月份名称是否简写。如果省略,默认值为 ,即不简写月份名称。

False

说明

下面的示例利用 函数为日期表达式返回月份的缩写:

MonthName

Dim MyVar

MyVar = MonthName(10, True) ' MyVar 包含 "Oct"

MsgBox 函数

在对话框中显示消息,等待用户单击按钮,并返回一个值指示用户单击的按钮。

MsgBox(prompt[, buttons][, title][, helpfile, context])

参数

prompt

作为消息显示在对话框中的字符串表达式 的最大长度大约是 1024 个字符,这取决于所使用

prompt

的字符的宽度。如果 中包含多个行,则可在各行之间用回车符 (13)换行符 (10)

promptChr()Chr()

或回车换行符的组合 (1310) 分隔各行。

Chr() & Chr()

Buttons

数值表达式,是表示指定显示按钮的数目和类型、使用的图标样式,默认按钮的标识以及消息框样式的数

值的总和。有关数值,请参阅设置部分。如果省略,则 的默认值为 0

buttons

Title

显示在对话框标题栏中的字符串表达式。如果省略 ,则将应用程序的名称显示在标题栏中。

title

Helpfile

字符串表达式,用于标识为对话框提供上下文相关帮助的帮助文件。如果已提供 ,则必须提供

helpfile

context

。在 16 位系统平台上不可用。

Context

数值表达式,用于标识由帮助文件的作者指定给某个帮助主题的上下文编号。如果已提供 则必

context

须提供 。在 16 位系统平台上不可用。

helpfile

设置

buttons

参数可以有以下值:

常数 描述

vbOKOnly 0

vbOKCancel 1

vbAbortRetryIgnore 2

vbYesNoCancel 3

vbYesNo 4

vbRetryCancel 5

vbCritical 16

vbQuestion 32

vbExclamation 48

vbInformation 64

vbDefaultButton1 0

vbDefaultButton2 256

vbDefaultButton3 512

vbDefaultButton4 768

vbApplicationModal 0

只显示按钮。

确定

显示按钮。

确定取消

显示按钮。

放弃重试忽略

显示按钮。

取消

显示按钮。

显示按钮。

重试取消

显示图标。

临界信息

显示图标。

警告查询

显示图标。

警告消息

显示图标。

信息消息

第一个按钮为默认按钮。

第二个按钮为默认按钮。

第三个按钮为默认按钮。

第四个按钮为默认按钮。

应用程序模式:用户必须响应消息框才能继续在当前应用程序中工

作。

vbSystemModal 4096

系统模式:在用户响应消息框前,所有应用程序都被挂起。

第一组值 (0 - 5) 用于描述对话框中显示的按钮类型与数目;第二组值 (16, 32, 48, 64) 用于描述图标

的样式;第三组值 (0, 256, 512) 用于确定默认按钮;而第四组值 (0, 4096) 则决定消息框的样式。在

将这些数字相加以生成 参数值时,只能从每组值中取用一个数字。

buttons

返回值

MsgBox

函数有以下返回值:

常数 按钮

vbOK 1

确定

vbCancel 2

取消

vbAbort 3

放弃

vbRetry 4

重试

vbIgnore 5

忽略

vbYes 6

vbNo 7

说明

如果同时提供了 ,则用户可以按 键以查看与上下文相对应的帮助主题。

helpfilecontextF1

如果对话框显示按钮,则按 键与单击的效果相同。如果对话框包含按钮,则有为对话

取消ESC取消帮助

框提供的上下文相关帮助。但是在单击其他按钮之前,不会返回任何值。

MicroSoft Internet Explorer使用函数时,任何对话框的标题总是包含"VBScript",以便于

MsgBox

将其与标准对话框区别开来。

下面的例子演示了 函数的用法:

MsgBox

Dim MyVar

MyVar = MsgBox ("Hello World!", 65, "MsgBox Example")

' MyVar contains either 1 or 2, depending on which button is clicked.

Now

根据计算机系统设定的日期和时间返回当前的日期和时间值。

Now

说明

下面的示例利用 函数返回当前的日期和时间:

Now

Dim MyVar

MyVar = Now ' MyVar 包含当前的日期和时间。

Oct

返回表示数字八进制值的字符串。

Oct(number)

number

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

说明

如果 参数不是整数,则在进行运算前,将其四舍五入到最接近的整数。

number

如果 number Oct 返回

Null

Empty

任意其他数字 最大可到 11 位的八进制字符。

Null

(0)

用户也可以通过直接在数前加上 &O 表示八进制数。例如,&O10 为十进制数 8 的八进制表示法。

下面的示例利用 函数返回数值的八进制数:

Oct

Dim MyOct

MyOct = Oct(4) ' 返回 4

MyOct = Oct(8) ' 返回 10

MyOct = Oct(459) ' 返回 713

Replace 函数

返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。

Replace(expression, find, replacewith[, compare[, count[, start]]])

参数

expression

必选项。字符串表达式 包含要替代的子字符串。

Find

必选项。被搜索的子字符串。

Replacewith

必选项。用于替换的子字符串。

Start

可选项。 中开始搜索子字符串的位置。如果省略,默认值为 1。在和count 关联时必须用

expression

count

可选项。执行子字符串替换的数目。如果省略,默认值为 -1,表示进行所有可能的替换。在和

start

联时必须用。

Compare

可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅设置部分。如果省略,缺省值

0 ,这意味着必须进行二进制比较。

设置

compare

参数可以有以下值:

常数 描述

vbBinaryCompare 0

vbTextCompare 1

执行二进制比较。

执行文本比较。

返回值

Replace

返回以下值:

如果 Replace 返回

expression 为零长度 零长度字符串 ("")

expression Null 错误。

find

为零长度 expression 的副本。

expressionfind

的副本,其中删除了所有由 参数指定的内容。 replacewith 为零长度

start > Len(expression)

count 0 expression 的副本。

零长度字符串。

说明

Replacestartexpression

函数的返回值是经过替换(从由 指定的位置开始到 字符串的结尾)后的

字符串,而不是原始字符串从开始至结尾的副本。

下面的示例利用 函数返回字符串:

Replace

Dim MyString

MyString = Replace("XXpXXPXXp", "p", "Y") '二进制比较从字符串左端开始。返回 "XXYXXPXXY"

MyString = Replace("XXpXXPXXp", "p", "Y", '文本比较从第三个字符开始。返回 "YXXYXXY"3, -

1, 1)

RGB 函数

返回代表 RGB 颜色值的整数。

RGB(red, green, blue)

参数

red

必选项。0 255 间的整数,代表颜色中的红色成分。

green

必选项。0 255 间的整数,代表颜色中的绿色成分。

blue

必选项。0 255 间的整数,代表颜色中的蓝色成分。

说明

接受颜色说明的应用程序方法和属性,要求该说明以整数代表 RGB 颜色值。RGB 颜色值指定了红色、

绿色、蓝色的相对强度,三色组合形成显示的特定颜色。

低字节值表示红色,中字节值表示绿色,高字节值表示蓝色。

对于要求反转字节顺序的应用程序,下面函数在反转字节顺序下提供相同信息:

Function RevRGB(red, green, blue)

RevRGB= CLng(blue + (green * 256) + (red * 65536))

End Function

RGB 函数中任一超过 255 的参数都假定为 255

Right 函数

从字符串右边返回指定数目的字符。

Right(string, length)

参数

string

字符串表达式,其最右边的字符被返回。如果 参数中包含 Null,则返回

stringNull

Length

数值表达式,指明要返回的字符数目。如果为 0,返回零长度字符串;如果此数大于或等于 参数

string

中的所有字符数目,则返回整个字符串。

说明

要确定 参数中的字符数目,使用 函数。

stringLen

下面的示例利用 函数从字符串右边返回指定数目的字符:

Right

Dim AnyString, MyStr

AnyString = "Hello World" '定义字符串。

MyStr = Right(AnyString, 1) '返回 "d"

MyStr = Right(AnyString, 6) ' 返回 " World"

MyStr = Right(AnyString, 20) ' 返回 "Hello World"

注意RightBlength

函数用于字符串中的字节数据, 参数指定返回的是字节数目,而不是字符数目。

Rnd 函数

返回一个随机数。

Rnd[(number)]

number

参数可以是任意有效的数值表达式

说明

RndnumberRnd

函数返回一个小于 1 但大于或等于 0 的值。 的值决定了 生成随机数的方式:

如果 number Rnd 生成

小于零 每次都相同的值,使用 作为种子

大于零 序列中的下一个随机数。

等于零 最近生成的数。

省略 序列中的下一个随机数。

number

因每一次连续调用 函数时都用序列中的前一个数作为下一个数的种子,所以对于任何最初给定的种

Rnd

子都会生成相同的数列。

在调用 之前,先使用无参数的 语句初始化随机数生成器,该生成器具有基于系统计

RndRandomize

时器的种子。

要产生指定范围的随机整数,请使用以下公式:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

这里, 是此范围的上界,而 是此范围内的下界。

upperboundlowerbound

注意RandomizeRnd

要重复随机数的序列,请在使用数值参数调用 之前,立即用负值参数调用 。使

用同样 值的 不能重复先前的随机数序列。

numberRandomize

Round 函数

返回按指定位数进行四舍五入的数值。

Round(expression[, numdecimalplaces])

参数

Expression

必选项。数值表达式 被四舍五入。

Numdecimalplaces

可选项。数字表明小数点右边有多少位进行四舍五入。如果省略,则 函数返回整数。

Round

说明

下面的示例利用 函数将数值四舍五入到两位小数:

Round

Dim MyVar, pi

pi = 3.14159

MyVar = Round(pi, 2) 'MyVar contains 3.14

Microsoft(R) Visual Basic(R) Scripting

Edition

返回使用的编写脚本引擎的编译版本号。

ScriptEngineBuildVersion

说明

返回值直接对应于所使用的 Scripting 程序语言的 DLL 文件中包含的版本信息。

下面的示例利用 函数返回创建的编写脚本引擎版本号:

ScriptEngineBuildVersion

Function GetScriptEngineInfo

Dim s

s = "" '用必要的信息形成字符串。

s = ScriptEngine & " Version "

s = s & ScriptEngineMajorVersion & "."

s = s & ScriptEngineMinorVersion & "."

s = s & ScriptEngineBuildVersion

GetScriptEngineInfo = s '返回结果。

End Function

ScriptEngineMajorVersion 函数

返回使用的编写脚本引擎的主版本号。

ScriptEngineMajorVersion

说明

返回值直接对应于所使用的脚本程序语言中 DLL 文件包含的版本信息。

下面的示例利用 函数返回编写脚本引擎的版本号:

ScriptEngineMajorVersion

Function GetScriptEngineInfo

Dim s

s = "" '用必要的信息形成字符串。

s = ScriptEngine & " Version "

s = s & ScriptEngineMajorVersion & "."

s = s & ScriptEngineMinorVersion & "."

s = s & ScriptEngineBuildVersion

GetScriptEngineInfo = s '返回结果。

End Function

ScriptEngineMinorVersion 函数

返回使用的编写引擎引擎的次版本号。

ScriptEngineMinorVersion

说明

返回值直接对应于所使用的脚本程序语言中 DLL 文件包含的版本信息。

下面的示例利用 函数返回编写引擎的副版本号:

ScriptEngineMinorVersion

Function GetScriptEngineInfo

Dim s

s = "" '用必要的信息形成字符串。

s = ScriptEngine & " Version "

s = s & ScriptEngineMajorVersion & "."

s = s & ScriptEngineMinorVersion & "."

s = s & ScriptEngineBuildVersion

GetScriptEngineInfo = s '返回结果。

End Function

Second 函数

返回 0 59 之间的一个整数(包括 1 59),代表一分钟内的某一秒。

Second(time)

timetimeNull

参数是任意可以代表时间的表达式。如果 参数中包含 Null,则返回

说明

下面的示例利用 函数返回当前秒:

Second

Dim MySec

MySec = Second(Now)

'MySec 包含代表当前秒的数字。

SetLocale 函数

Sets the global locale and returns the previous locale.

SetLocale(lcid)

lcid

参数可以是任意一个合法的 32 位数值或短字符串,该值必须唯一标识一个地理区域。能被识别的值

可以查阅 区域设置 ID 表。

说明

为零,区域被设置为与当前系统设置匹配。

lcid

一个 locale 是用户参考信息集合,与用户的语言、国家和文化传统有关。该 locale 决定键盘布局、字

母排序顺序和日期、时间、数字与货币格式。

下面举例说明 函数的用法。要使用该代码,请复制标准HTML 文件中 标志之间

SetLocale

的所有内容。

Enter Date in UK format: type="text" id="UKDate" size="20">

Here's the US equivalent: type="text" id="USdate" size="20">

type="button" value="Convert" id="button1">

Enter a price in German:   type="text" id="GermanNumber" size="20">

Here's the UK equivalent: type="text" id="USNumber" size="20">

type="button" value="Convert" id="button2">

Sgn 函数

返回表示数字符号的整数。

Sgn(number)

number

参数可以是任意有效的数值表达式

返回值

Sgn

函数有如下返回值:

如果 number Sgn 返回

大于零

等于零

小于零

1

0

-1

说明

numberSgn

参数的符号决定 函数的返回值。

下面的示例利用 函数决定数值的符号:

Sgn

Dim MyVar1, MyVar2, MyVar3, MySign

MyVar1 = 12: MyVar2 = -2.4: MyVar3 = 0

MySign = Sgn(MyVar1) ' 返回 1

MySign = Sgn(MyVar2) ' 返回 -1

MySign = Sgn(MyVar3) ' 返回 0

Sin 函数

返回某个角的正弦值。

Sin(number)

number

参数可以是任何将某个角表示为弧度的有效数值表达式

说明

Sin

函数取某个角并返回直角三角形两边的比值。此比值是直角三角形中该角的对边长度与斜边长度之

比。结果的范围在 -1 1 之间。

将角度乘以 pi/180 即可转换为弧度,将弧度乘以 180/pi 即可转换为角度。

下面例子利用 返回角度的正弦:

Sin

Dim MyAngle, MyCosecant

MyAngle = 1.3 ' 用弧度定义角度。

MyCosecant = 1 / Sin(MyAngle) '计算余割。

Space 函数

返回由指定数目的空格组成的字符串。

Space(number)

number

参数为字符串中用户所需的空格数。

说明

下面的示例利用 函数返回由指定数目空格组成的字符串:

Space

Dim MyString

MyString = Space(10) ' 返回具有 10 个空格的字符串。

MyString = "Hello" & Space(10) & "World" ' 在两个字符串之间插入 10 个空格。

Split 函数

返回基于 0 的一维数组,其中包含指定数目的子字符串。

Split(expression[, delimiter[, count[, start]]])

参数

expression

必选项。字符串表达式,包含子字符串和分隔符。如果 为零长度字符串, 返回空数

expressionSplit

组,即不包含元素和数据的数组。

delimiter

可选项。用于标识子字符串界限的字符。如果省略,使用空格 ("") 作为分隔符。如果 为零长

delimiter

度字符串,则返回包含整个 字符串的单元素数组。

expression

count

可选项。被返回的子字符串数目,-1 指示返回所有子字符串。

Compare

可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅设置部分。

设置

compare

参数可以有以下值:

常数 描述

vbBinaryCompare 0

vbTextCompare 1

执行二进制比较。

执行文本比较。

说明

下面的示例利用 函数从字符串中返回数组。函数对分界符进行文本比较,返回所有的子字符串。

Split

Dim MyString, MyArray, Msg

MyString = "VBScriptXisXfun!"

MyArray = Split(MyString, "x", -1, 1)

' MyArray(0) contains "VBScript".

' MyArray(1) contains "is".

' MyArray(2) contains "fun!".

Msg = MyArray(0) & " " & MyArray(1)

Msg = Msg & " " & MyArray(2)

MsgBox Msg

Sqr 函数

返回数值的平方根。

Sqr(number)

number

参数可以是任意有效的大于或等于零的数值表达式

说明

下面的示例利用 函数计算数值的平方根:

Sqr

Dim MySqr

MySqr = Sqr(4) ' 返回 2

MySqr = Sqr(23) ' 返回4.79583152331272

MySqr = Sqr(0) ' 返回0

MySqr = Sqr(-4) ' 产生实时错误。

StrComp 函数

返回一个表明字符串比较结果的值。

StrComp(string1, string2[, compare])

参数

string1

必选项。任意有效的字符串表达式

string2

必选项。任意有效的字符串表达式。

Compare

可选项。指示在计算字符串时使用的比较类型的数值。如果省略,则执行二进制比较。有关数值,请参阅

部分。

设置

compare

参数可以有以下值:

常数 描述

vbBinaryCompare 0

vbTextCompare 1

执行二进制比较。

执行文本比较。

返回值

StrComp

函数有以下返回值:

如果 StrComp 返回

string1 小于 string2

string1 等于 string2

string1 大于 string2

-1

0

1

string1string2

Null

Null

说明

下面的示例利用 函数返回字符串比较的结果。如果第三个参数为 1 执行文本比较;如果第三

StrComp

个参数为 0 或者省略执行二进制比较。

Dim MyStr1, MyStr2, MyComp

MyStr1 = "ABCD": MyStr2 = "abcd" '定义变量。

MyComp = StrComp(MyStr1, MyStr2, 1) ' 返回 0

MyComp = StrComp(MyStr1, MyStr2, 0) ' 返回 -1

MyComp = StrComp(MyStr2, MyStr1) ' 返回 1

String 函数

返回具有指定长度的、重复字符组成的字符串。

String(number, character)

参数

number

返回字符串的长度。如果 参数包含 Null,则返回

numberNull

Character

指定字符或字符串表达式字符代码,其中字符串表达式的第一个字符用于组成返回的字符串。如果

characterNullNull

参数包含 ,则返回

说明

如果指定的 值大于 255,则 使用下列公式将该数转换成有效的字符代码:

characterString

character Mod 256

下面的示例利用 函数返回指定长度的由重复字符组成的字符串:

String

Dim MyString

MyString = String(5, "*") ' 返回"*****"

MyString = String(5, 42) ' 返回"*****"

MyString = String(10, "ABC") ' 返回"AAAAAAAAAA"

StrReverse 函数

返回字符串,此字符串与指定字符串顺序相反。

StrReverse(string1)

string1string1

参数是要进行字符反向的字符串。如果 是零长度字符串 (""),则返回零长度字符串。

如果 ,则会出现错误。

string1Null

说明

下面的示例利用 函数返回按相反顺序排列的字符串:

StrReverse

Dim MyStr

MyStr = StrReverse("VBScript") 'MyStr 包含 "tpircSBV"

Tan 函数

返回某个角的正切值。

Tan(number)

number

参数可以是任何将某个角表示为弧度的有效数值表达式

说明

Tan

取某个角并返回直角三角形两个直角边的比值。此比值是直角三角形中该角的对边长度与邻边长度之

比。

将角度乘以 pi /180 即可转换为弧度,将弧度乘以 180/pi 即可转换为角度。

下面的示例利用 函数返回角度的正切:

Tan

Dim MyAngle, MyCotangent

MyAngle = 1.3 ' 用弧度定义角度。

MyCotangent = 1 / Tan(MyAngle) ' 计算余切。

Time 函数

返回 子类型 ,指示当前系统时间。

DateVariant

Time

说明

下面的示例利用 函数返回当前系统时间:

Time

Dim MyTime

MyTime = Time ' 返回当前系统时间。

Timer 函数

返回午夜 12 时以后已经过去的秒数。

Timer

说明

下面的例子使用 函数来确定 循环 次所需的时间:

TimerNextN

Function TimeIt(N)

Dim StartTime, EndTime

StartTime = Timer

For I = 1 To N

Next

EndTime = Timer

TimeIt = EndTime - StartTime

End Function

TimeSerial 函数

返回一个 子类型的 ,含有指定时、分、秒的时间。

DateVariant

TimeSerial(hour,minute, second)

参数

hour

其值为从 0 (12:00 A.M.) 23 (11:00 P.M.) 的数值或数值表达式

minute

任意数值表达式。

second

任意数值表达式。

说明

要指定一时刻,如 11:59:59 的参数取值应在可接受的范围内;也就是说,小时应介于

TimeSerial

0-23 之间,分和秒应介于 0-59 之间。但是,可以使用数值表达式为每个参数指定相对时间,这一表达

式代表某时刻之前或之后的时、分或秒数。

下面的示例使用绝对时间数的表达式。 函数返回中午前 612-6小时前的 15分钟 -15

TimeSerial

5:45:00 A.M.

Dim MyTime1

MyTime1 = TimeSerial(12 - 6, -15, 0) ' 返回 5:45:00 AM.

当任何一个参数的取值超出可接受的范围时,它会正确地进位到下一个较大的时间单位中。例如,如果指

定了 75 分钟,则这个时间被解释成一小时十五分钟。但是,如果任何一个参数值超出 -32768 32767

的范围,就会导致错误。如果使用三个参数直接指定的时间或通过表达式计算出的时间超出可接受的日期

范围,也会导致错误。

TimeValue

返回包含时间的 子类型的

DateVariant

TimeValue(time)

time

参数通常是代表从 0:00:00 (12:00:00 A.M.) 23:59:59 (11:59:59 P.M.) 字符串表达

(包括 0:00:00 23:59:59不过, 也可以是代表该范围内任何时间的表达式。如果

timetime

参数包含 Null,则返回

Null

说明

可以采用 12 24 小时时钟格式输入时间。例如 "2:24PM" "14:24" 都是有效的 参数。

time

参数包含日期信息, 函数并不返回日期信息。然而,如果 参数包含无效的

timeTimeValuetime

日期信息,则会出现错误。

下面的示例利用 函数将字符串转化为时间。也可以用 日期文字 直接赋时间给

TimeValueVariant

型的变量(例如, MyTime = #4:35:17 PM#).

Dim MyTime

MyTime = TimeValue("4:35:17 PM") ' MyTime 包含 "4:35:17 PM"

TypeName 函数

返回一个字符串,提供有关变量的 子类型信息。

Variant

TypeName(varname)

必选项的 参数,可以是任何变量。

varname

返回值

TypeName

函数返回值如下:

描述

Byte

Integer

Long

Single

Double

Currency

Decimal

Date

String

Boolean

字节值

整型值

长整型值

单精度浮点值

双精度浮点值

货币值

十进制值

日期或时间值

字符串值

Boolean 值;

TrueFalse

Empty

Null

未初始化

无有效数据

实际对象类型名

Object

Unknown

Nothing

Error

一般对象

未知对象类型

还未引用对象实例的对象变量

错误

说明

下面的示例利用 函数返回变量信息:

TypeName

Dim ArrayVar(4), MyType

NullVar = Null ' Null 值。MyType = TypeName("VBScript") ' 返回 "String"

MyType = TypeName(4) ' 返回 "Integer"

MyType = TypeName(37.50) ' 返回 "Double"

MyType = TypeName(NullVar) ' 返回 "Null"

MyType = TypeName(ArrayVar) ' 返回 "Variant()"

UBound 函数

返回指定数组维数的最大可用下标。

UBound(arrayname[, dimension])

参数

arrayname

必选项。数组变量名,遵循标准变量命名约定。

Dimension

可选项。指定返回哪一维上界的整数。1 表示第一维,2 表示第二维,以此类推。如果省略

dimension

参数,则默认值为 1

说明

UBoundLBoundLBound

函数与 函数一起使用,用于确定数组的大小。使用 函数可以确定数组某一

维的下界。

所有维的下界均为 0。对于有这样维数的数组, 函数返回以下结果:

UBound

Dim A(100,3,4)

语句 返回值

UBound(A, 1) 100

UBound(A, 2) 3

UBound(A, 3) 4

UCase 函数

返回字符串的大写形式。

UCase(string)

stringstringNull

参数是任意有效的字符串表达式。如果 参数中包含 Null,则返回

说明

只有小写字母被转换成大写字母;所有大写字母和非字母字符均保持不变。

下面的示例利用 函数返回字符串的大写形式:

UCase

Dim MyWord

MyWord = UCase("Hello World") ' 返回"HELLO WORLD"

VarType 函数

返回指示变量子类型的值。

VarType(varname)

varname

参数可以是任何变量

返回值

VarType

函数返回下列值:

常数 描述

vbEmpty 0

vbNull 1

vbInteger 2

vbLong 3

vbSingle 4

vbDouble 5

vbCurrency 6

vbDate 7

vbString 8

vbObject 9

vbError 10

vbBoolean 11 Boolean

vbVariant 12

Empty(未初始化)

Null(无有效数据)

整数

长整数

单精度浮点数

双精度浮点数

货币

日期

字符串

Automation 对象

错误

Variant(只和变量数组一起使用)

数据访问对象

字节

vbDataObject 13

vbByte 17

vbArray 8192

数组

注意

这些常数是由 VBScript 指定的。所以,这些名称可在代码中随处使用,以代替实际值。

说明

VarType

函数从不通过自己返回 Array 的值。它总是要添加一些其他值来指示一个具体类型的数组。

Variant 的值被添加到 Array 的值中以表明 函数的参数是一个数组时,它才被返回。例如,

VarType

对一个整数数组的返回值是 2 + 8192 的计算结果,或 8194。如果一个对象有默认,则

VarType(object)

返回对象默认属性的类型。

下面函数利用 函数决定变量的子类型.

VarType

Dim MyCheck

MyCheck = VarType(300) ' 返回 2

MyCheck = VarType(#10/19/62#) ' 返回 7

MyCheck = VarType("VBScript") ' 返回 8

Weekday 函数

返回代表一星期中某天的整数。

Weekday(date, [firstdayofweek])

参数

date

可以代表日期的任意表达式。如果 参数中包含 Null,则返回

dateNull

Firstdayofweek

指定星期中第一天的常数。如果省略,默认使用

vbSunday

设置

firstdayofweek 参数有如下设置:

常数 描述

使用区域语言支持 (NLS) API 设置。

星期日

星期一

星期二

星期三

星期四

星期五

星期六

vbUseSystem 0

vbSunday 1

vbMonday 2

vbTuesday 3

vbWednesday 4

vbThursday 5

vbFriday 6

vbSaturday 7

返回值

Weekday

函数返回如下值:

常数 描述

vbSunday 1

vbMonday 2

vbTuesday 3

星期日

星期一

星期二

星期三

星期四

星期五

说明

下面例子利用 函数得到指定日期为星期几:

Weekday

Dim MyDate, MyWeekDay

MyDate = #October 19, 1962# ' 分派日期。

MyWeekDay = Weekday(MyDate) ' 由于 MyWeekDay 包含 6,MyDate 代表星期五。

WeekDayName 函数

返回一个字符串,表示星期中指定的某一天。

WeekdayName(weekday, abbreviate, firstdayofweek)

参数

weekday

必选项。星期中某天的数值定义。各天的数值定义取决于 参数设置。

firstdayofweek

Abbreviate

可选项。Boolean 值,指明是否缩写表示星期各天的名称。如果省略, 默认值为 ,即不缩写星期

False

各天的名称。

Firstdayofweek

可选项。指明星期第一天的数值。关于数值,请参阅设置部分。

设置

firstdayofweek 参数有以下值:

常数 描述

vbUseSystem 0

vbSunday 1

vbMonday 2

vbTuesday 3

使用区域语言支持 (NLS) API 设置。

星期日(默认)

星期一

星期二

星期三

星期四

vbWednesday 4

vbThursday 5

vbFriday 6

vbSaturday 7

星期五

星期六

说明

下面例子利用 函数返回指定的某一天:

WeekDayName

Dim MyDate

MyDate = WeekDayName(6, True) 'MyDate 包含 Fri

Year 函数

返回一个代表某年的整数。

Year(date)

datedateNull

参数是任意可以代表日期的参数。如果 参数中包含 Null,则返回

说明

下面例子利用 函数得到指定日期的年份:

Year

Dim MyDate, MyYear

MyDate = #October 19, 1962# '分派一日期。

MyYear = Year(MyDate) ' MyYear 包含 1962

我很久没有好好学习了,上上周五开始,到上周结束,每天上午学习,看点VBS51TESTING上的小

问题或是在JOBSTREET上看看行情,下午便开始看起小说来,看完鹿鼎记接着看射雕英雄传,除了某个

原因外,我想我大概是受了打击,辛苦学了1个多月,却什么用也没有,或者说什么事也没有,没事做,

没事到感觉留下来的希望渺茫至极。

然而这样下去毕竟是件危险的事,在最近一次例会中,在说完上周所做的事后,老大在仔细问清楚

我每件事后,最终说了句:GREAT。我想这应该是件好事,另一件好事是接连开了两个单独参加的会议,

虽然会上究竟说了些什么内容,我还模糊得很,但终究是件好事吧。

于是,我打点起精神,把不知道从哪里下的VBS学习资料给看完了。尤其是其中函数和语句这两块

内容,很多很烦,一度以为自己只会翻个大概,居然还是给我看完了。小结一下:

第一类:数学函数,这一类函数无趣得很,居然还很多:

Sin 正弦、Cos 余弦、Tan 正切、Atn 反正切,这四个函数的参数为NUMBER

Abs 绝对值、Sgn 取数字的正负值(正返回1,负返回-1,零返回0)、Int/Fix 取整(零头抹

掉,Int的负数比Fix的小1),这三个函数的参数也是NUMBER

Round 指定位数的四舍五入,参数是expressioneNUMBERNUMBER省略的话,就是四

舍五入到整数。

Log 自然对数、Exp e的幂次方、Sqr平方根,这三个函数的参数也为NUMBER

Rnd 是随机函数,18个常用函数中有提到过。

第二类:转换类型函数,这一类函数比较简单,就是转换成相应的类型,也有很多:

CBool CByte CCur CDate CDbl CInt CLng CSng CStr Hex Oct

要注意CIntInt/Fix是有差别的,18个常用函数中也有提高过,另外,Hex是取16进制数;Oct

8进制数,其他没什么难的。

另外,Asc 返回与字符串中第一个字符对应的ANCI字符代码,Chr 返回ANCI字符代码相对应

的字符,这两个互反函数也属于类型转换吧。

第三类:关于时间日期类型的函数,这一类函数也特别多,莫非在VBS中时间日期很重要么?突

然想起《非常24小时》来……

Date 当前日期、Time 当前时间、Now 当前日期和时间,这三个函数没有参数。

Year 返回年整数(100-9999)、Month 返回月整数(1-12)、Day 返回日整数(1-31)、

Weekday 返回星期整数(1-7),这四个函数的参数是DATEWeekday多一个可选参数

firstdayofweek,来指定一周中1代表的常数,默认值是vbSundayHour 返回小时整数(0-23)、

Minute 返回分钟整数(0-59)、Second 返回秒整数(0-59),这三个函数的参数是TIME

MonthName 返回月份字符串、WeekDayName 返回星期字符串,除了相应的月份、星期参数

外,还有一个可选参数,默认为FALSE,不缩写。

DateAdd 进行日期的加法运算,DateAdd(要加的种类,整数,日期),要加的种类有很多,年、

季度、月、日、星期……加出来的数字智能转化为实际日期。

DateDiff 返回两个日期的时间间隔,DateDiff(计算的种类,日期1,日期2),日期1晚于日

2,则返回负数,种类同上。

DatePart 返回给定日期的部分日期,DatePart(返回的部分种类,日期,firstdayofweek

firstweekof)后两个是可选参数,种类如上,取日期中的制定种类部分。

DateSerialTimeSerial 这两个函数应该就是日期和时间的减法运算了,运算后的数字智能转化

为实际日期时间。

DateValueTimeValue 这两个函数将字符串转化为日期和时间,如果字符串中的数字超出范围,

则会出错。

Timer 这个函数返回午夜12点后已经过去的秒数,可以用来测试FOR NEXT语句运行了多久。

第四类:关于字符串类型的函数,这一类函数不比时间日期函数少,好多都在18个常用函数中,

看来字符串函数用得比较多:

LCaseUCase 大小写函数

LTrimRTrimTrim 除空格函数

LeftRightMid 取部分字符串函数

Len 取字符串长度

Replace 取代字符串

Split 将子字符串拆分成一维数组

StrComp 字符串比较

Instr 判断字符串包涵某子字符串,以上几个字符串函数都在18个常用函数中。

InstrRev 判断字符串包涵某子字符串,但是从字符串最末尾处开始搜索,要注意和Instr的不同

点。

String 返回指定长度由同一个字符组成的字符串,String(长度,字符),字符也可以是字符代

码,如果字符有好几个,则由第一个来重复组成返回的字符串。

StrReverse 把字符串倒过来

Space 返回由指定数目空格组成的字符串

第五类:关于数组类型的函数

Array 返回包含数组的变量,感觉用在赋值语句中比较多。Filter 返回过滤过的字符串数组子集,

注意和Split的差别。Join 连接函数,相当于Split的反函数了。LBound 返回指定维数最小可用下标,

UBound 返回指定维数最大可用下标。

第六类:判断类型和获取类型信息的函数

IsArrayIsDateIsEmptyIsNullIsNumericIsObject 返回判断结果布尔值。

TypeName 返回变量子类型信息的字符串;VarType返回变量子类型信息的值。

第七类:格式化函数和脚本版本函数,这两类函数针对性很强,是不是较少用到?我不知道,感觉

不常用吧。

FormatCurrencyFormatDateTimeFormatNumberFormatPercent 格式化成相应的类

型。

ScriptEngine 返回脚本语言(VBScript),ScriptEngineBuildVersion 返回脚本引擎版本

8832ScriptEngineMajorVersion 返回脚本引擎主版本号5ScriptEngineMinorVersion

回脚本引擎次版本号6写了个测试本机,括号里是本机的返回值,我不知道这些值具体是有什么意义,

但知道返回大概会是些什么值。

第八类:其他零星函数,还有一些函数,懒得一一分类,就全部写在这一类下面吧,有些我不大懂,

又很有用,或者说会常用到,这让我不知道该怎么办好……

EvalExecute,其实Eval就是=的判断函数,Execute就是=的赋值函数,书上有这样一段解

释:在 VBScript 中,x = y 可以有两种解释。第一种方式是赋值语句,将 y 的值赋予 x。第二种解释

是测试 x y 是否相等。如果相等,result True;否则 result FalseEval 方法总是采用

第二种解释,而 Execute 语句总是采用第一种。

其实这两个函数写不写都无所谓,VBScript自己会判断。

关于区域设置的函数:GetLocale 获取当前的区域设置,没参数;SetLocale 设置区域设置,参

数为lcid

输入输出对话框函数:InputBoxMsgBox

接下来的函数就不大懂了:RGB(red,green,blue),据说是返回一个代表颜色值的整数,测试后

返回一个很大的整数,但到底有什么用,怎么用就不知道了。

LoadPicture 返回图片对象,LoadPicture(picturename)picturename 参数是字符串表

达式,该表达式指明了要装入的图片文件的名称。书上的解释就是这样的,到底怎么回事就不清楚了。

CreateObject 创建并返回对 Automation 对象的引用,GetObject 返回对文件中 Automation

对象的引用。在关于下拉菜单的QTP测试中,就有CreateObject函数,大概是创建一个新的对象的函数

吧,但还是不会用,这个好象蛮多见的。

最后一个:GetRef 返回一个指向一过程的引用,此过程可绑定某事件。在其他脚本和程序设计语

言中,GetRef 所提供的功能被称为函数指针,即它指向了在指定事件发生时要执行的过程的地址。我总

觉得这个有点像QTP里的恢复场景,但是到底怎么用还是不清楚,感觉也像是个比较强大的功能。


本文发布于:2023-11-30,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:automation服务器不能创建对象

发布评论

评论列表(有0条评论)
    福州电脑网_福州电脑维修_福州电脑之家_福州iThome

    福州电脑网_福州电脑维修_福州电脑之家_福州iThome

    福州电脑维修网(fzithome.com)专业的电脑维修,笔记本维修,上门维修各种电脑,笔记本,平板等,快速上门.电脑知识频道内容覆盖:计算机资讯,电脑基础应用知识,各种电脑故障维修学习,电脑外设产品维修维护,病毒,软件,硬件,常识.