文档库 最新最全的文档下载
当前位置:文档库 › vbscript教程

vbscript教程

vbscript教程
vbscript教程

VBScript语法错误对照

Microsoft VBScript语法错误(0x800A03E9)-->内存不足

Microsoft VBScript语法错误(0x800A03EA)-->语法错误

Microsoft VBScript语法错误(0x800A03EB)-->缺少':'

Microsoft VBScript语法错误(0x800A03ED)-->缺少'('

Microsoft VBScript语法错误(0x800A03EE)-->缺少')'

Microsoft VBScript语法错误(0x800A03EF)-->缺少']'

Microsoft VBScript语法错误(0x800A03F2)-->缺少标识符

Microsoft VBScript语法错误(0x800A03F3)-->缺少'='

Microsoft VBScript语法错误(0x800A03F4)-->缺少'If'

Microsoft VBScript语法错误(0x800A03F5)-->缺少'To'

Microsoft VBScript语法错误(0x800A03F6)-->缺少'End'

Microsoft VBScript语法错误(0x800A03F7)-->缺少'Function'

Microsoft VBScript语法错误(0x800A03F8)-->缺少'Sub'

Microsoft VBScript语法错误(0x800A03F9)-->缺少'Then'

Microsoft VBScript语法错误(0x800A03FA)-->缺少'Wend'

Microsoft VBScript语法错误(0x800A03FB)-->缺少'Loop'

Microsoft VBScript语法错误(0x800A03FC)-->缺少'Next'

Microsoft VBScript语法错误(0x800A03FD)-->缺少'Case'

Microsoft VBScript语法错误(0x800A03FE)-->缺少'Select'

Microsoft VBScript语法错误(0x800A03FF)-->缺少表达式

Microsoft VBScript语法错误(0x800A0400)-->缺少语句

Microsoft VBScript语法错误(0x800A0401)-->语句未结束

Microsoft VBScript语法错误(0x800A0402)-->缺少整型常数

Microsoft VBScript语法错误(0x800A0403)-->缺少'While' 或'Until' Microsoft VBScript语法错误(0x800A0404)-->缺少'While', 'Until' 或语句未结束Microsoft VBScript语法错误(0x800A0405)-->缺少'With'

Microsoft VBScript语法错误(0x800A0406)-->标识符过长

Microsoft VBScript语法错误(0x800A0407)-->无效数字

Microsoft VBScript语法错误(0x800A0408)-->无效字符

Microsoft VBScript语法错误(0x800A0409)-->未结束的字符串常量

Microsoft VBScript语法错误(0x800A040A)-->注释未结束

Microsoft VBScript语法错误(0x800A040D)-->无效使用'Me' 关键字Microsoft VBScript语法错误(0x800A040E)-->'loop' 语句缺少'do'

Microsoft VBScript语法错误(0x800A040F)-->无效的'exit' 语句

Microsoft VBScript语法错误(0x800A0410)-->循环控制变量'for' 无效Microsoft VBScript语法错误(0x800A0411)-->名称重定义

Microsoft VBScript语法错误(0x800A0412)-->必须是行中的第一个语句Microsoft VBScript语法错误(0x800A0413)-->不能为non-ByVal 参数赋值Microsoft VBScript语法错误(0x800A0414)-->调用子程序时不能使用括号Microsoft VBScript语法错误(0x800A0415)-->缺少文字常数

Microsoft VBScript语法错误(0x800A0416)-->缺少'In'

Microsoft VBScript语法错误(0x800A0417)-->缺少'Class'

Microsoft VBScript语法错误(0x800A0418)-->必须在一个类的内部定义

Microsoft VBScript语法错误(0x800A0419)-->在属性声明中缺少Let , Set 或Get Microsoft VBScript语法错误(0x800A041A)-->缺少'Property'

Microsoft VBScript语法错误(0x800A041B)-->在所有属性的规范中,变量的数目必须一致

Microsoft VBScript语法错误(0x800A041C)-->在一个类中不允许有多个缺省的属性/方法

Microsoft VBScript语法错误(0x800A041D)-->类的初始化或终止程序没有参数Microsoft VBScript语法错误(0x800A041E)-->属性的set 或let 必须至少有一个参数

Microsoft VBScript语法错误(0x800A041F)-->错误的'Next'

Microsoft VBScript语法错误(0x800A0420)-->'Default' 只能在'Property' , 'Function' 或'Sub' 中指定

Microsoft VBScript语法错误(0x800A0421)-->指定'Default' 时必须同时指定'Public' ")

Microsoft VBScript语法错误(0x800A0422)-->只能在Property Get 中指定'Default' Microsoft VBScript 运行时错误(0x800A0005)-->无效的过程调用或参数

Microsoft VBScript 运行时错误(0x800A0006)-->溢出

Microsoft VBScript 运行时错误(0x800A0007)-->内存不足

Microsoft VBScript 运行时错误(0x800A0009)-->下标越界

Microsoft VBScript 运行时错误(0x800A000A)-->该数组为定长的或临时被锁定

Microsoft VBScript 运行时错误(0x800A000B)-->被零除

Microsoft VBScript 运行时错误(0x800A000D)-->类型不匹配

Microsoft VBScript 运行时错误(0x800A000E)-->字符串空间不够

Microsoft VBScript 运行时错误(0x800A0011)-->不能执行所需的操作

Microsoft VBScript 运行时错误(0x800A001C)-->堆栈溢出

Microsoft VBScript 运行时错误(0x800A0023)-->未定义过程或函数

Microsoft VBScript 运行时错误(0x800A0030)-->加载DLL 时出错

Microsoft VBScript 运行时错误(0x800A0033)-->内部错误

Microsoft VBScript 运行时错误(0x800A0034)-->错误的文件名或号码

Microsoft VBScript 运行时错误(0x800A0035)-->文件未找到

Microsoft VBScript 运行时错误(0x800A0036)-->错误的文件模式

Microsoft VBScript 运行时错误(0x800A0037)-->文件已经打开

Microsoft VBScript 运行时错误(0x800A0039)-->设备I/O 错误

Microsoft VBScript 运行时错误(0x800A003A)-->文件已存在

Microsoft VBScript 运行时错误(0x800A003D)-->磁盘已满

Microsoft VBScript 运行时错误(0x800A003E)-->输入超出了文件尾

Microsoft VBScript 运行时错误(0x800A0043)-->文件过多

Microsoft VBScript 运行时错误(0x800A0044)-->设备不可用

Microsoft VBScript 运行时错误(0x800A0046)-->没有权限

Microsoft VBScript 运行时错误(0x800A0047)-->磁盘没有准备好

Microsoft VBScript 运行时错误(0x800A004A)-->重命名时不能带有其他驱动器符号Microsoft VBScript 运行时错误(0x800A004B)-->路径/文件访问错误

Microsoft VBScript 运行时错误(0x800A004C)-->路径未找到

Microsoft VBScript 运行时错误(0x800A005B)-->对象变量未设置

Microsoft VBScript 运行时错误(0x800A005C)-->For 循环未初始化

Microsoft VBScript 运行时错误(0x800A005E)-->无效使用Null

Microsoft VBScript 运行时错误(0x800A0142)-->不能创建所需的临时文件

Microsoft VBScript 运行时错误(0x800A01A8)-->缺少对象

Microsoft VBScript 运行时错误(0x800A01AD)-->ActiveX 部件不能创建对象

Microsoft VBScript 运行时错误(0x800A01AE)-->类不能支持Automation 操作

Microsoft VBScript 运行时错误(0x800A01B0)-->Automation 操作中文件名或类名未找到Microsoft VBScript 运行时错误(0x800A01B6)-->对象不支持此属性或方法 Microsoft VBScript 运行时错误(0x800A01B8)-->Automation 操作错误

Microsoft VBScript 运行时错误(0x800A01BD)-->对象不支持此操作

Microsoft VBScript 运行时错误(0x800A01BE)-->对象不支持已命名参数

Microsoft VBScript 运行时错误(0x800A01BF)-->对象不支持当前区域设置

Microsoft VBScript 运行时错误(0x800A01C0)-->未找到已命名参数

Microsoft VBScript 运行时错误(0x800A01C1)-->参数是必选项

Microsoft VBScript 运行时错误(0x800A01C2)-->错误的参数个数或无效的参数属性值Microsoft VBScript 运行时错误(0x800A01C3)-->对象不是一个集合

Microsoft VBScript 运行时错误(0x800A01C5)-->未找到指定的DLL 函数

Microsoft VBScript 运行时错误(0x800A01C7)-->代码资源锁定错误

Microsoft VBScript 运行时错误(0x800A01CA)-->变量使用了一个VBScript 中不支持的Automation 类型

Microsoft VBScript 运行时错误(0x800A01CE)-->远程服务器不存在或不可用

Microsoft VBScript 运行时错误(0x800A01E1)-->无效图片

Microsoft VBScript 运行时错误(0x800A01F4)-->变量未定义

Microsoft VBScript 运行时错误(0x800A01F5)-->非法赋值

Microsoft VBScript 运行时错误(0x800A01F6)-->对象不能安全地使用Script 编程Microsoft VBScript 运行时错误(0x800A01F7)-->对象不能安全初始化

Microsoft VBScript 运行时错误(0x800A01F8)-->对象不能安全创建

Microsoft VBScript 运行时错误(0x800A01F9)-->无效的或无资格的引用

Microsoft VBScript 运行时错误(0x800A01FA)-->类没有被定义

Microsoft VBScript 运行时错误(0x800A01FB)-->出现一个意外错误

Microsoft VBScript 运行时错误(0x800A1398)-->缺少常规表达式对象

Microsoft VBScript 运行时错误(0x800A1399)-->常规表达式语法错误

Microsoft VBScript 运行时错误(0x800A139A)-->错误的数量词

Microsoft VBScript 运行时错误(0x800A139B)-->常规表达式中缺少']'

Microsoft VBScript 运行时错误(0x800A139C)-->常规表达式中缺少')'

Microsoft VBScript 运行时错误(0x800A139D)-->字符集越界

Microsoft VBScript 运行时错误(0x800A802B)-->未找到元素

ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件

Microsoft OLEDBProviderforODBCDrivers(0x80040E14)-->sql语句出错(字段名错误,或数据类型不匹配)

Microsoft OLEDBProviderforODBCDrivers(0x80040E07)-->sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)

Microsoft OLEDBProviderforODBCDrivers(0x80040E57)-->sql语句出错(要插入或更新的数据溢出)

Microsoft OLEDBProviderforODBCDrivers(0x80040E10)-->sql语句出错(update字段名或要更新的数据类型错误)

Microsoft OLEDBProviderforODBCDrivers(0x80004005)-->sql语句出错(要插入或更新的字段的数值不能为空值)

Microsoft OLEDBProviderforODBCDrivers(0x80004005)-->打开数据库出错,没有在指定目录发现数据库

Microsoft OLEDBProviderforODBCDrivers(0x80040E37)-->没有发现表

ODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表/字段错误或处于编辑状态,或不存在于conn打开的数据库中)

ADODB.Recordset(0x800A0BB9)-->sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)

ADODB.Recordset(0x800A0CC1)-->rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)

ADODB.Recordset(0x800A0BCD)-->rs对像出错(记录集中没有记录却对记录集进行操作) ADODB.Recordset(0x800A0E78)-->rs对像出错(记录集不存在,缺少rs.open语句) ADODB.Recordset(0x800A0CC1)-->rs对像出错(引用了一个不存在的字段名)

ADODB.Recordset(0x800A0E7D)-->conn定义错误

ADODB.Recordset(0x800A0CB3)-->数据库以只读方式打开,无法更新数据ADODB.Recordset(0x800A000D)-->错误引用rs变量(rs对像已关闭或未定义)

VBScript教程目录

Microsoft Visual Basic Scripting Edition 是程序开发语言Visual Basic 家族的最新成员,它将灵活的Script 应用于更广泛的领域,包括Microsoft Internet Explorer 中的Web 客户机Script 和Microsoft Internet Information Server 中的Web 服务器Script。

* 什么是VBScript?

* 在HTML 页面中添加VBscript 代码

VBScript 基础

* VBScript 数据类型

* VBScript 变量

* VBScript 常数

* VBScript 运算符

* 使用条件语句

* 使用循环语句

* VBScript 过程

* VBScript 编码约定

* 深入VBScript

在Internet Explorer 中使用VBScript

* VBScript 页面的简单样例

* VBScript 与窗体

* 在VBScript 中使用对象

VBScript教程第一课

Microsoft Visual Basic Scripting Edition 是程序开发语言Visual Basic 家族的最新成员,它将灵活的Script 应用于更广泛的领域,包括Microsoft Internet Explorer 中的Web 客户机Script 和Microsoft Internet Information Server 中的Web 服务器Script。

易学易用

如果您已了解Visual Basic 或Visual Basic for Applications,就会很快熟悉VBScript。即使您没有学过Visual Basic,只要学会VBScript,就能够使用所有的Visual Basic 语言进行程序设计。虽然您可以从本教程的几个Web 页面中学习VBscript,但是本教程并没有告诉您如何编程。要学习编程,请阅读由Microsoft Press 出版的《Step by Step》。

ActiveX Script

VBScript 使用ActiveX?Script 与宿主应用程序对话。使用ActiveX Script,浏览器和其他宿主应用程序不再需要每个Script 部件的特殊集成代码。ActiveX Script 使宿主可以编译Script、获取和调用入口点及管理开发者可用的命名空间。通过ActiveX Script,语言厂商可以建立标准Script 运行时语言。Microsoft 将提供VBScript 的运行时支持。Microsoft 正在与多个Internet 组一起定义ActiveX Script 标准以使Script 引擎可以互换。ActiveX Script 可用在Microsoft? Internet Explorer 和Microsoft? Internet Information Server 中。

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

作为开发者,您可以在您的产品中免费使用VBScript 源实现程序。Microsoft 为32 位Windows? API、16 位Windows API 和Macintosh? 提供VBscript 的二进制实现程序。VBScript 与World Wide Web 浏览器集成在一起。VBScript 和ActiveX Script 也可以在其他应用程序中作为普通Script 语言使用。

VBScript教程第二课

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

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

...

SCRIPT 块可以出现在HTML 页面的任何地方(BODY 或HEAD 部分之中)。然而最好将所有的一般目标Script 代码放在HEAD 部分中,以使所有Script 代码集中放置。这样可以确保在BODY 部分调用代码之前所有Script 代码都被读取并解码。

上述规则的一个值得注意的例外情况是,在窗体中提供内部代码以响应窗体中对象的事件。例如,以下示例在窗体中嵌入Script 代码以响应窗体中按钮的单击事件:

测试按钮事件

大多数Script 代码在Sub 或Function 过程中,仅在其他代码要调用它时执行。然而,也可以将VBScript 代码放在过程之外、SCRIPT 块之中。这类代码仅在HTML 页面加载时执行一次。这样就可以在加载Web 页面时初始化数据或动态地改变页面的外观。

VBScript教程第三课

什么是VBScript 数据类型?

VBScript 只有一种数据类型,称为Variant。Variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。因为Variant 是VBScript 中唯一的数据类型,所以它也是VBScript 中所有函数的返回值的数据类型。

最简单的Variant 可以包含数字或字符串信息。Variant 用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理。这就是说,如果使用看起来象是数字的数据,则VBScript 会假定其为数字并以适用于数字的方式处理。与此类似,如果使用的数据只可能是字符串,则VBScript 将按字符串处理。当然,也可以将数字包含在引号(" ") 中使其成为字符串。

Variant 子类型

除简单数字或字符串以外,Variant 可以进一步区分数值信息的特定含义。例如使用数值信息表示日期或时间。此类数据在与其他日期或时间数据一起使用时,结果也总是表示为日期或时间。当然,从Boolean 值到浮点数,数值信息是多种多样的。Variant 包含的数值信息类型称为子类型。大多数情况下,可将所需的数据放进Variant 中,而Variant 也会按照最适用于其包含的数据的方式进行操作。

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

子类型描述Empty 未初始化的Variant。对于数值变量,值为0;对于字符串变量,值为零长度字符串("")。Null 不包含任何有效数据的V ariant。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教程第四课

什么是变量?

变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储Script 运行时可更改的程序信息。例如,可以创建一个名为ClickCount 的变量来存储用户单击Web 页面上某个对象的次数。使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。在VBScript 中只有一个基本数据类型,即Variant,因此所有变量的数据类型都是Variant。

声明变量

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

Dim DegreesFahrenheit

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

Dim Top, Bottom, Left, Right

另一种方式是通过直接在Script 中使用变量名这一简单方式隐式声明变量。这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行Script 时出现意外的结果。因此,最好使用Option Explicit 语句显式声明所有变量,并将其作为Script 的第一条语句。命名规则

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

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

·不能包含嵌入的句点。

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

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

变量的作用域与存活期

变量的作用域由声明它的位置决定。如果在过程中声明变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称为过程级变量。如果在过程之外声明变量,则该变量可以被Script 中所有过程所识别,称为Script 级变量,具有Script 级作用域。

变量存在的时间称为存活期。Script 级变量的存活期从被声明的一刻起,直到Script 运行结束。对于过程级变量,其存活期仅是该过程运行的时间,该过程结束后,变量随之消失。在执行过程时,局部变量是理想的临时存储空间。可以在不同过程中使用同名的局部变量,这是因为每个局部变量只被声明它的过程识别。

给变量赋值

创建如下形式的表达式给变量赋值:变量在表达式左边,要赋的值在表达式右边。例如:

B = 200

标量变量和数组变量

多数情况下,只需为声明的变量赋一个值。只包含一个值的变量被称为标量变量。有时候,将多个相关值赋给一个变量更为方便,因此可以创建包含一系列值的变量,称为数组变量。数组变量和标量变量是以相同的方式声明的,唯一的区别是声明数组变量时变量名后面带有括号( )。下例声明了一个包含11 个元素的一维数组:

Dim A(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 列的二维数组:

Dim MyTable(5, 10)

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

也可以声明动态数组,即在运行Script 时大小发生变化的数组。对数组的最初声明使用Dim 语句或ReDim 语句。但是对于动态数组,括号中不包含任何数字。例如:

Dim MyArray()

ReDim AnotherArray()

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

ReDim MyArray(25)

. . .

ReDim Preserve MyArray(30)

重新调整动态数组大小的次数是没有任何限制的,但是应注意:将数组的大小调小时,将会丢失被删除元素的数据。

VBScript教程第五课

什么是常数?

常数是具有一定含义的名称,用于代替数字或字符串,其值从不改变。VBScript 定义了许多固有常数。详细信息,请参阅VBScript 语言参考。

创建常数

您可以使用Const 语句在VBScript 中创建用户自定义常数。使用Const 语句可以创建名称具有一定含义的字符串型或数值型常数,并给它们赋原义值。例如:

Const MyString = "这是一个字符串。"

Const MyAge = 49

请注意字符串文字包含在两个引号(" ") 之间。这是区分字符串型常数和数值型常数的最明显的方法。日期文字和时间文字包含在两个井号(#) 之间。例如:

Const CutoffDate = #6-1-97#

最好采用一个命名方案以区分常数和变量。这样可以避免在运行Script 时对常数重新赋值。例如,可以使用“vb”或“con”作常数名的前缀,或将常数名的所有字母大写。将常数和变量区分开可以在开发复杂的Script 时避免混乱。

VBScript教程第六课

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

运算符优先级

当表达式包含多个运算符时,将按预定顺序计算每一部分,这个顺序被称为运算符优先级。可以使用括号越过这种优先级顺序,强制首先计算表达式的某些部分。运算时,总是先执行括号中的运算符,然后再执行括号外的运算符。但是,在括号中仍遵循标准运算符优先级。

当表达式包含多种运算符时,首先计算算术运算符,然后计算比较运算符,最后计算逻辑运算符。所有比较运算符的优先级相同,即按照从左到右的顺序计算比较运算符。算术运算符和逻辑运算符的优先级如下所示:

算术运算符比较运算符逻辑运算符

描述符号描述符号描述符号

求幂^ 等于= 逻辑非Not

负号- 不等于<> 逻辑与And

乘* 小于< 逻辑或Or

除/ 大于> 逻辑异或Xor

整除\ 小于等于<= 逻辑等价Eqv

求余Mod 大于等于>= 逻辑隐含Imp

加+ 对象引用比较Is

减-

字符串连接&

算术运算符比较运算符逻辑运算符描述符号描述符号描述符号求幂^ 等于= 逻辑非Not 负号- 不等于<> 逻辑与And 乘* 小于< 逻辑或Or 除/ 大于> 逻辑异或Xor 整除\ 小于等于<= 逻辑等价Eqv 求余Mod 大于等于>= 逻辑隐含Imp 加+ 对象引用比较Is 减- 字符串连接&

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

字符串连接(&) 运算符不是算术运算符,但是在优先级顺序中,它排在所有算术运算符之后和所有比较运算符之前。Is 运算符是对象引用比较运算符。它并不比较对象或对象的值,而只是进行检查,判断两个对象引用是否引用同一个对象。

VBScript教程第七课

控制程序执行

使用条件语句和循环语句可以控制Script 的流程。使用条件语句可以编写进行判断和重复操作的VBScript 代码。在VBScript 中可使用以下条件语句:

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

·Select Case 语句

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

If...Then...Else 语句用于计算条件是否为True 或False,并且根据计算结果指定要运行的语句。通常,条件是使用比较运算符对值或变量进行比较的表达式。有关比较运算符的详细信息,请参阅比较运算符。If...Then...Else 语句可以按照需要进行嵌套。

条件为True 时运行语句

要在条件为True 时运行单行语句,可使用If...Then...Else 语句的单行语法。下例示范了单行语法。请注意此例省略了关键字Else。

Sub FixDate()

myDate = #2/13/95#

If myDate < Now Then myDate = Now

End Sub

要运行多行代码,必须使用多行(或块)语法。多行(或块)语法包含End If 语句,如下所示:

Sub AlertUser(value)

If value = 0 Then

AlertLabel.ForeColor = vbRed

AlertLabel.Font.Bold = True

AlertLabel.Font.Italic = True

End If

End Sub

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

可以使用If...Then...Else 语句定义两个可执行语句块:条件为True 时运行某一语句块,条件为False 时运行另一语句块。

Sub AlertUser(value)

If value = 0 Then

AlertLabel.ForeColor = vbRed

AlertLabel.Font.Bold = True

AlertLabel.Font.Italic = True

Else

AlertLabel.Forecolor = vbBlack

AlertLabel.Font.Bold = False

AlertLabel.Font.Italic = False

End If

End Sub

对多个条件进行判断

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

Sub ReportValue(value)

If value = 0 Then

MsgBox value

ElseIf value = 1 Then

MsgBox value

ElseIf value = 2 then

Else

Msgbox "数值超出范围!"

End If

可以添加任意多个ElseIf 子句以提供多种选择。使用多个ElseIf 子句经常会变得很累赘。在多个条件中进行选择的更好方法是使用Select Case 语句。

使用Select Case 进行判断

Select Case 结构提供了If...Then...ElseIf 结构的一个变通形式,可以从多个语句块中选择执行其中的一个。Select Case 语句提供的功能与If...Then...Else 语句类似,但是可以使代码更加简练易读。

Select Case 结构在其开始处使用一个只计算一次的简单测试表达式。表达式的结果将与结构中每个Case 的值比较。如果匹配,则执行与该Case 关联的语句块:

Select Case Document.Form1.CardType.Options(SelectedIndex).Text

Case "MasterCard"

DisplayMCLogo

ValidateMCAccount

Case "Visa"

DisplayVisaLogo

ValidateVisaAccount

Case "American Express"

DisplayAMEXCOLogo

ValidateAMEXCOAccount

Case Else

DisplayUnknownImage

PromptAgain

End Select

请注意Select Case 结构只计算开始处的一个表达式(只计算一次),而If...Then...ElseIf 结构计算每个ElseIf 语句的表达式,这些表达式可以各不相同。仅当每个ElseIf 语句计算的表达式都相同时,才可以使用Select Case 结构代替If...Then...ElseIf 结构。

VBScript教程第八课

使用循环重复执行代码

循环用于重复执行一组语句。循环可分为三类:一类在条件变为False 之前重复执行语句,一类在条件变为True 之前重复执行语句,另一类按照指定的次数重复执行语句。

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

·Do...Loop:当(或直到)条件为True 时循环。

·While...Wend:当条件为True 时循环。

·For...Next:指定循环次数,使用计数器重复运行语句。

·For Each...Next:对于集合中的每项或数组中的每个元素,重复执行一组语句。

使用Do 循环

可以使用Do...Loop 语句多次(次数不定)运行语句块。当条件为True 时或条件变为True 之前,重复执行语句块。

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

While 关键字用于检查Do...Loop 语句中的条件。有两种方式检查条件:在进入循环之前检查条件(如下面的ChkFirstWhile 示例);或者在循环至少运行完一次之后检查条件(如下面的ChkLastWhile 示例)。在ChkFirstWhile 过程中,如果myNum 的初始值被设置为9 而不是20,则永远不会执行循环体中的语句。在ChkLastWhile 过程中,循环体中的语句只会执行一次,因为条件在检查时已经为False。

Sub ChkFirstWhile()

Dim counter, myNum

counter = 0

myNum = 20

Do While myNum > 10

myNum = myNum - 1

counter = counter + 1

Loop

MsgBox "循环重复了" & counter & " 次。"

End Sub

Sub ChkLastWhile()

Dim counter, myNum

counter = 0

myNum = 9

Do

myNum = myNum - 1

counter = counter + 1

Loop While myNum > 10

MsgBox "循环重复了" & counter & " 次。"

End Sub

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

Until 关键字用于检查Do...Loop 语句中的条件。有两种方式检查条件:在进入循环之前检查条件(如下面的ChkFirstUntil 示例);或者在循环至少运行完一次之后检查条件(如下

面的ChkLastUntil 示例)。只要条件为False,就会进行循环。

Sub ChkFirstUntil()

Dim counter, myNum

counter = 0

myNum = 20

Do Until myNum = 10

myNum = myNum - 1

counter = counter + 1

Loop

MsgBox "循环重复了" & counter & " 次。"

End Sub

Sub ChkLastUntil()

Dim counter, myNum

counter = 0

myNum = 1

Do

myNum = myNum + 1

counter = counter + 1

Loop Until myNum = 10

MsgBox "循环重复了" & counter & " 次。"

End Sub

退出循环

Exit Do 语句用于退出Do...Loop 循环。因为通常只是在某些特殊情况下要退出循环(例如要避免死循环),所以可在If...Then...Else 语句的True 语句块中使用Exit Do 语句。如果条件为False,循环将照常运行。

在下面的示例中,myNum 的初始值将导致死循环。If...Then...Else 语句检查此条件,防止出现死循环。

Sub ExitExample()

Dim counter, myNum

counter = 0

myNum = 9

Do Until myNum = 10

myNum = myNum - 1

counter = counter + 1

If myNum < 10 Then Exit Do

Loop

MsgBox "循环重复了" & counter & " 次。"

End Sub

使用While...Wend

While...Wend 语句是为那些熟悉其用法的用户提供的。但是由于While...Wend 缺少灵活性,所以建议最好使用Do...Loop 语句。

使用For...Next

For...Next 语句用于将语句块运行指定的次数。在循环中使用计数器变量,该变量的值随每一次循环增加或减少。

例如,下面的示例将过程MyProc 重复执行50 次。For 语句指定计数器变量x 及其起始值与终止值。Next 语句使计数器变量每次加1。

Sub DoMyProc50Times()

Dim x

For x = 1 To 50

MyProc

Next

End Sub

关键字Step 用于指定计数器变量每次增加或减少的值。在下面的示例中,计数器变量j 每次加2。循环结束后,total 的值为2、4、6、8 和10 的总和。

Sub TwosTotal()

Dim j, total

For j = 2 To 10 Step 2

total = total + j

Next

MsgBox "总和为" & total & "。"

End Sub

要使计数器变量递减,可将Step 设为负值。此时计数器变量的终止值必须小于起始值。在下面的示例中,计数器变量myNum 每次减2。循环结束后,total 的值为16、14、12、10、8、6、4 和2 的总和。

Sub NewTotal()

Dim myNum, total

For myNum = 16 To 2 Step -2

total = total + myNum

Next

MsgBox "总和为" & total & "。"

End Sub

Exit For 语句用于在计数器达到其终止值之前退出For...Next 语句。因为通常只是在某些特殊情况下(例如在发生错误时)要退出循环,所以可以在If...Then...Else 语句的True 语句块中使用Exit For 语句。如果条件为False,循环将照常运行。

使用For Each...Next

For Each...Next 循环与For...Next 循环类似。For Each...Next 不是将语句运行指定的次数,而是对于数组中的每个元素或对象集合中的每一项重复一组语句。这在不知道集合中元素的数目时非常有用。

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

窗体与元素

VBScript教程第九课

过程分类

在VBScript 中,过程被分为两类:Sub 过程和Function 过程。

Sub 过程

Sub 过程是包含在Sub 和End Sub 语句之间的一组VBScript 语句,执行操作但不返回值。Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果Sub 过程无任何参数,则Sub 语句必须包含空括号()。

下面的Sub 过程使用两个固有的(或内置的)VBScript 函数,即MsgBox 和InputBox,来提示用户输入信息。然后显示根据这些信息计算的结果。计算由使用VBScript 创建的Function 过程完成。此过程在以下讨论之后演示。

Sub ConvertTemp()

temp = InputBox("请输入华氏温度。", 1)

MsgBox "温度为" & Celsius(temp) & " 摄氏度。"

End Sub

Function 过程

Function 过程是包含在Function 和End Function 语句之间的一组VBScript 语句。Function 过程与Sub 过程类似,但是Function 过程可以返回值。Function 过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果Function 过程无任何参数,则Function 语句必须包含空括号()。Function 过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是Variant。

在下面的示例中,Celsius 函数将华氏度换算为摄氏度。Sub 过程ConvertTemp 调用此函数时,包含参数值的变量被传递给函数。换算结果返回到调用过程并显示在消息框中。

Sub ConvertTemp()

temp = InputBox("请输入华氏温度。", 1)

MsgBox "温度为" & Celsius(temp) & " 摄氏度。"

End Sub

Function Celsius(fDegrees)

Celsius = (fDegrees - 32) * 5 / 9

End Function

过程的数据进出

给过程传递数据的途径是使用参数。参数被作为要传递给过程的数据的占位符。参数

名可以是任何有效的变量名。使用Sub 语句或Function 语句创建过程时,过程名之后必须紧跟括号。括号中包含所有参数,参数间用逗号分隔。例如,在下面的示例中,fDegrees 是传递给Celsius 函数的值的占位符:

Function Celsius(fDegrees)

Celsius = (fDegrees - 32) * 5 / 9

End Function

要从过程获取数据,必须使用Function 过程。请记住,Function 过程可以返回值;Sub 过程不返回值。

在代码中使用Sub 和Function 过程

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

Temp = Celsius(fDegrees)

MsgBox "温度为" & Celsius(fDegrees) & " 摄氏度。"

调用Sub 过程时,只需输入过程名及所有参数值,参数值之间使用逗号分隔。不需使用Call 语句,但如果使用了此语句,则必须将所有参数包含在括号之中。

下面的示例显示了调用MyProc 过程的两种方式。一种使用Call 语句;另一种则不使用。两种方式效果相同。

Call MyProc(firstarg, secondarg)

MyProc firstarg, secondarg

请注意当不使用Call 语句进行调用时,括号被省略。

VBScript教程第十课

什么是编码约定?

编码约定是帮助您使用Microsoft Visual Basic Scripting Edition 编写代码的一些建议。编码约定包含以下内容:

·对象、变量和过程的命名约定

·注释约定

·文本格式和缩进指南

使用一致的编码约定的主要原因是使Script 或Script 集的结构和编码样式标准化,这样代码易于阅读和理解。使用好的编码约定可以使源代码明白、易读、准确,更加直观且与其他语言约定保持一致。

常数命名约定

VBScript 的早期版本不允许创建用户自定义常数。如果要使用常数,则常数以变量的方式实现,且全部字母大写以和其他变量区分。常数名中的多个单词用下划线(_) 分隔。例如:

USER_LIST_MAX

NEW_LINE

这种标识常数的方法依旧可行,但您还可以选择其他方案,用Const 语句创建真正的常数。这个约定使用大小写混合的格式,并以“con”作为常数名的前缀。例如:

conYourOwnConstant

变量命名约定

出于易读和一致性的目的,请在VBScript 代码中使用以下变量命名约定:子类型前缀

示例Boolean bln blnFound Byte byt bytRasterData Date (Time) dtm dtmStart Double dbl dblTolerance Error err errOrderNum Integer int intQuantity Long lng lngDistance Object obj objCurrent Single sng sngAverage String str strFirstName

变量作用域

变量应定义在尽量小的作用域中。VBScript 变量的作用域如下所示:

作用域声明变量处可见性过程级事件、函数或子过程在声明变量的过程中可见Script 级HTML 页面的HEAD 部分,任何过程之外在Script 的所有过程中可见

变量作用域前缀

随着Script 代码长度的增加,有必要快速区分变量的作用域。在类型前缀前面添加一个单字符前缀可以实现这一点,而不致使变量名过长。

作用域前缀示例过程级无dblVelocity Script 级s sblnCalcInProgress

描述性变量名和过程名

变量名或过程名的主体应使用大小写混合格式,并且尽量完整地描述其目的。另外,过程名应以动词开始,例如InitNameArray 或CloseDialog。

对于经常使用的或较长的名称,推荐使用标准缩写以使名称保持在适当的长度内。通常多于

vbs经典脚本

Vbs脚本经典教材 Vbs脚本经典教材(最全的资料还是MSDN) —为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制、粘贴、改名、删除,也许你每天启动计算机第一件事情就是打开W ORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某些数据进行整理,把各式各样的数据按照某种规则排列起来……。这些事情重复、琐碎,使人容易疲劳。 第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往往事倍功半,我也尝试过使用计算机语言编写程序来解决这些问题,但是随之而来的命令、语法、算法、系统框架和类库常常让我觉得这样是否有必要,难道就是因为猪毛比较难拔,所以我就要去学习机械,为自己设计一个拔猪毛机(?)吗? Vbs是一种Windows脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版),VBS是Visual Basic的的一个抽象子集,是系统内置的,用它编写的脚本代码不能编译成二进制文件,直接由Windows系统执行(实际是一个叫做宿主host的解释源代码并执行),高效、易学,但是大部分高级语言能干的事情,它基本上都具备,它可以使各种各样的任务自动化,可以使你从重复琐碎的工作中解脱出来,极大的提高工作效率。 我个人认为Vbs脚本其实就是一种计算机编程语言,但是由于缺少计算机程序设计语言中的部分要素,对于事件的描述能力较弱,所以称为脚本,它最方便的地方就是提供了对COM对象的简便支持。那么什么是COM对象呢? 我这样理解,COM对象就是一些具有特定函数功能项程序模块,他们一般以ocx或者dll作为扩展名,你只要找到包含有你需要的功能的模块文件,并在脚本中规范的引用,就可以实现特定的功能,也就是说Vbs脚本就是调用现成的“控件”作为对象,用对象的属性和方法实现目的,完全免去了编写代码、设计算法等等麻烦。说白了,我不是觉得拔猪毛麻烦么?我发觉xx机(比如真空离心器)有一个功能可以实现脱毛,ok,我把它拿来给猪脱毛。什么?大材小用?太浪费资源了?天哪,那是计算机芯片的事情,死道友不死贫道,反正我的事情是方便快速的解决了,这就行了。 最方便的是它甚至不需要专门的开发环境,在你的计算机中,只要有notepad,就可以编写Vbs 脚本了,并且可以直接执行。

WinCC VBScript教程

WinCC VBScript教程一 (2010-05-01 08:01:04) 转载 标签: wincc vbscritp 教程 it 本文内容是基于WinCC V6.2中文版的,文中脚本程序均在WinCC V6.2中文版测试通过。 WinCC作为西门子公司的监控组态软件具有非常强的的功能,和很好的系统稳定性。本系列教程主要讨论WinCC中的VBScript脚本系统在实际开发中的应用。 WinCC提供了丰富完整、功能强大的脚本编程。主要分为C脚本、VBS脚本和VBA三种具有不同功能、及应用环境的脚本语言。C脚本提供了访问各种Win32 API的功能,通过对不同的Win32 API的访问可以使用Windows平台及该平台上各种应用的功能。VBS脚本者为开发者提供了一种易用和快速开发的脚本语言。VBA提供了对WinCC软件功能扩展的能力。 Visual Basic Scripting Edition 是程序开发语言Visual Basic 家族的最新成员。VB Script 是非常易学的。如果您已了解Visual Basic 或Visual Basic for Applications,就会很快熟悉VBScript。如果您没有学过Visual Basic,只要学会VBScript,就能够使用所有的Visual Basic 语言进行程序设计。 本节主要对WinCC脚本、及VB Script进行简单介绍。下节将介绍VB Script的基本语法。 本文转载自:中华工控168网 WinCC VBScript教程二语法

(2010-05-02 23:11:25) 转载 标签: it 本节主要介绍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)

VB编写ActiveX DLL实现ASP编程

VB编写ActiveX DLL实现ASP编程 ASP是目前一种广为应用的用来快速构建动态WEB站点的编程语言,默认的内置开发语言是VBScript,由于ASP和微软Windows系列操作系统的结合非常的好,使得ASP已经成为了NT开发平台上面进行WEB开发的首选语言和环境。他有着简单易学,方便快速开发的种种优点,但是他也有着致命的弱点,就是他是脚本语言解释执行的,速度会受到一定的影响,更为关键的是,使用ASP来开发完成一个项目之后,整个项目在交付客户使用的时候,是会连带所有的ASP脚本源代码的,也就无法将商业程序保密了,源代码泄漏会给自己造成很大的损失,虽然微软也相应的推出了用来加密ASP程序的软件,但是有着诸多的限制,以及会降低程序运行的速度和二次开发调试的难度,难道ASP做出来的项目就真的要暴露所有的源代码吗? 当然了,答案当然是否定的,因为世界上没有绝对不可能的事情,接下来就跟随我来看看如何利用VB的ActiveX DLL来实现将ASP程序封装起来吧,也就是我们可以使用ActiveX DLL来完成所有ASP能完成的事情,而ActiveX DLL是编译好的DLL文件,别人是无法得知你的源代码的,也就保证的自己的商业机密和核心技术,并且达到同样的效果,使用完全封装的ActiveX DLL会比完全适用ASP脚本语言的执行速度要快很多,尤其是大运算量的时候跟为明显!经过我们的具体测试,在操纵10000条数据库记录的时候,封装成为ActiveX DLL的WEB应用程序比纯ASP代码的应用程序,速度上面要快大约21%左右,在目前国内过于缓慢的网络来讲,速度就是一个WEB站点的很关键的一部分。并且采用了ActiveX DLL来开发WEB程序,要比单纯使用ASP好得多,毕竟ASP只能使用VBScript来开发,无法享用VB大量的优点,而ActiveX DLL则可以充分利用VB里面所有的特性。 下面我们先来看看什么是ActiveX DLL吧。ActiveX是微软提出的广泛应用于Windows 系列的一种代码封装技术,提高了程序代码的可重用性,加快了程序项目的开发速度,一般被称为“组件”。在VB6的集成开发环境当中,我们可以看到一下几种ActiveX项目: 1、ActiveX EXE 这是在“过程外”运行的ActiveX/COM服务器组件,也就是说他们运行的过程和初始化组件的客户机代码不同。尽管可以用ASP访问ActiveX EXE,但是不推荐改动IIS元库,该库允许所有的可执行文件由服务器上运行的脚本代码启动。 2、ActiveX OCXs 这些特殊的组件把主机应用程序显示和操作组件所需的附加支持包含在GUI环境中。还可以把OCX组件放在网页当中。但是,OCX是应用程序界面,不可以使用ASP来创建的。 3、ActiveX文档DLL和ActiveX文档EXE Active文档可以在OLE文件箱应用程序中,例如IE或者Office Binder,显示VB表单。但他们在ASP不能应用。 4、ActiveX DLLs

vbscript教程

VBScript语法错误对照 Microsoft VBScript语法错误(0x800A03E9)-->内存不足 Microsoft VBScript语法错误(0x800A03EA)-->语法错误 Microsoft VBScript语法错误(0x800A03EB)-->缺少':' Microsoft VBScript语法错误(0x800A03ED)-->缺少'(' Microsoft VBScript语法错误(0x800A03EE)-->缺少')' Microsoft VBScript语法错误(0x800A03EF)-->缺少']' Microsoft VBScript语法错误(0x800A03F2)-->缺少标识符 Microsoft VBScript语法错误(0x800A03F3)-->缺少'=' Microsoft VBScript语法错误(0x800A03F4)-->缺少'If' Microsoft VBScript语法错误(0x800A03F5)-->缺少'To' Microsoft VBScript语法错误(0x800A03F6)-->缺少'End' Microsoft VBScript语法错误(0x800A03F7)-->缺少'Function' Microsoft VBScript语法错误(0x800A03F8)-->缺少'Sub' Microsoft VBScript语法错误(0x800A03F9)-->缺少'Then' Microsoft VBScript语法错误(0x800A03FA)-->缺少'Wend' Microsoft VBScript语法错误(0x800A03FB)-->缺少'Loop' Microsoft VBScript语法错误(0x800A03FC)-->缺少'Next' Microsoft VBScript语法错误(0x800A03FD)-->缺少'Case' Microsoft VBScript语法错误(0x800A03FE)-->缺少'Select' Microsoft VBScript语法错误(0x800A03FF)-->缺少表达式 Microsoft VBScript语法错误(0x800A0400)-->缺少语句 Microsoft VBScript语法错误(0x800A0401)-->语句未结束 Microsoft VBScript语法错误(0x800A0402)-->缺少整型常数 Microsoft VBScript语法错误(0x800A0403)-->缺少'While' 或'Until' Microsoft VBScript语法错误(0x800A0404)-->缺少'While', 'Until' 或语句未结束Microsoft VBScript语法错误(0x800A0405)-->缺少'With' Microsoft VBScript语法错误(0x800A0406)-->标识符过长 Microsoft VBScript语法错误(0x800A0407)-->无效数字 Microsoft VBScript语法错误(0x800A0408)-->无效字符 Microsoft VBScript语法错误(0x800A0409)-->未结束的字符串常量 Microsoft VBScript语法错误(0x800A040A)-->注释未结束 Microsoft VBScript语法错误(0x800A040D)-->无效使用'Me' 关键字Microsoft VBScript语法错误(0x800A040E)-->'loop' 语句缺少'do' Microsoft VBScript语法错误(0x800A040F)-->无效的'exit' 语句 Microsoft VBScript语法错误(0x800A0410)-->循环控制变量'for' 无效Microsoft VBScript语法错误(0x800A0411)-->名称重定义 Microsoft VBScript语法错误(0x800A0412)-->必须是行中的第一个语句Microsoft VBScript语法错误(0x800A0413)-->不能为non-ByVal 参数赋值Microsoft VBScript语法错误(0x800A0414)-->调用子程序时不能使用括号Microsoft VBScript语法错误(0x800A0415)-->缺少文字常数 Microsoft VBScript语法错误(0x800A0416)-->缺少'In' Microsoft VBScript语法错误(0x800A0417)-->缺少'Class' Microsoft VBScript语法错误(0x800A0418)-->必须在一个类的内部定义

vbscript基本语法

什么是VBScript?VBScript的全称是Visual Basic Script,有时也简称为VBS。VBScript是微软开发的一种脚本语言,可以看作是Visual Basic的简化版,目前这种语言广泛应用于网页和ASP程序。与VB不同,VBScript不能生成独立的exe可执行文件,需要由其它软件解释才能运行。有许多软件支持VBScript,比如微软IE浏览器和Office等。VBScript的局限是只能运行于Windows操作系统和基于IE的浏览器,而JavaScript则受到所有网页浏览器的支持,因此JavaScript用的比较多 运算符号 运算符 求幂 ^ 负号 - 乘 * 除 / 整除 \ 求余 Mod 加 + 减 - 字符串连接 & 逻辑运算符 逻辑非 Not 逻辑与 And 逻辑或 Or 逻辑异或 Xor 逻辑等价 Eqv 逻辑隐含 Imp 比较运算符 等于 = 不等于 <> 小于 < 大于 > 小于等于 <= 大于等于 >= 变量 VBScript中变量可以不声明,直接使用。但有时不声明会出错,所以建议养成声明变量的好习惯。变量声明有两种方式——显式与隐式,显式使用Dim、Public、Private语句进行声明,隐式直接使用变量名。使用隐式声明方式的习惯不好,因为这样有时会由于变量名拼错而导致程序运行出现意外,因此,最好在每个脚本开始第一行使用Option Explicit语句强制显式声明所有变量。声明示例如下: Option Explicit Dim i, conn '声明多个变量时用逗号隔开 Public UserName, Password

很好的VBS教程(带实例)

很好的VBS教程(带实例) 推荐第一篇: 讲一下VBScript。主要面向菜鸟,懂得编程的朋友就不要浪费时间了,如果你想接触以下VBScript也可以。但既然有编程基础推荐直接去找一些参考书来读。会比较快。 什么是VBScript呢?VBScript的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版)。正如其字面所透露的信息,VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言。我进一步解释一下,Microsoft Visual Basic是微软公司出品的一套可视化编程工具,语法基于Basic.脚本语言,就是不编译成二进制文件,直接由宿主(host)解释源代码并执行,简单点说就是你写的程序不需要编译成.exe,而是直接给用户发送.vbs 的源程序,用户就能执行了。 我知道菜鸟现在最关心的就是用什么工具来开发VBS程序了,答案是:记事本(Notepad).我不是开玩笑,其实任何一种文本编辑器都可以用来开发VBS开发,只不过记事本是由系统自带的,比较好找而已. 尽管如此,我还是建议你去下载一个专业的文本编辑器,因为这些工具可以提供"语法高亮"等功能,更加方便开发,用哪一个随你喜好,我比较喜欢Edit Plus (2.10). OK,我们先来写一个VBScript程序热热身. REM 输入并回显你的名字 '使用InputBox和Msgbox函数 Dim name,msg msg="请输入你的名字:" name=Inputbox(msg,"名称") Msgbox(name) 把上面的程序清单输入到记事本里面,然后保存为以.vbs为扩展名的文件("保存类型"里面选择"所有文件").然后双击运行,观察运行结果. 注意:请自己输入程序清单,不要复制->粘贴! 我来解释一下这个程序,第一行和第二行的开头分别是"REM"语句和" ' ",这两个东西的作用是相同的,表示本行是注释行,就是说这两行什么也不干,只是用来说明这段程序的功能,信息等等. 注释行是程序最重要的部分之一,尽管它不是必需的,但对于其他人阅读源代码,以及自己分析源代码是很有好处的. 好的习惯是在必要的地方加上清晰,简洁的注释。 Dim用来声明一个变量,在VBS中,变量类型并不是那么重要,就是说VBS会帮你自动识别变量类型,而且变量在使用前不一定要先声明,程序会动态分配变量空间. 在VBS 中你不用考虑name储存的是一个整数还是一个小数(学名叫"浮点数"),也不用考虑是不是字符串(一串字符,比如:"Hello World"),VBS会自动帮你搞定. 所以第三行语句可以删除,效果不会变,但我强烈反对这么做,一个变量的基本原则就是:先声明,后使用.变量名用字母开头,可以使用下划线,数字,但不能使用vbs已经定义的字,比如dim,也不能是纯数字。 下一行被称之为"赋值","="是赋值符号,并不是数学中的等于号,尽管看起来一样.这

VBscript常用函数.

VBscript常用函数[实用zz] VBscript常用函数: 1.数值型函数: abs(num): 返回绝对值 sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负 hex(num): 返回十六进制值直接表示:&Hxx 最大8位 oct(num): 返回八进制值直接表示:&Oxx 最大8位 sqr(num): 返回平方根num>0 int(num): 取整int(99.8)=99; int(-99.2)=100 fix(num): 取整fix(99.8)=99; fix(-99.2)=99 round(num,n): 四舍五入取小数位round(3.14159,3)=3.142 中点数值四舍五入为近偶取整round(3.25,1)=3.2 log(num): 取以e为底的对数num>0 exp(n): 取e的n次幂通常用num^n sin(num): 三角函数,以弧度为值计算(角度*Pai)/180=弧度con(num); tan(num); atn(num) 2.字符串函数: len(str):计算字符串长度中文字符长度也计为一! mid(str,起始字符,[读取长度]):截取字符串中间子字符串 left(str,nlen):从左边起截取nlen长度子字符串 right(str,nlen):从右边起截取nlen长度子字符串 Lcase(str):字符串转成小写 Ucase(str):字符串转成大写 trim(str):去除字符串两端空格 Ltrim(str):去除字符串左侧空格 Rtrim(str):去除字符串右侧空格 replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串 注:默认值:起始字符1;替代次数不限;比较方法区分大小写(0) InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置 InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串返回起始位置 space(n):构造n个空格的字符串 string(n,str):构造由n个str第一个字符组成的字符串 StrReverse(str):反转字符串 split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选

VBScript微软官方教程

VBScript微软官方教程 Microsoft Visual Basic Scripting Edition 是程序开发语言 Visual Basic 家族的最新成员,它将灵活的 Script 应用于更广泛的领域,包括 Microsoft Internet Explorer 中的 Web 客户机 Script 和 Microsoft Internet Information Server 中的 Web 服务器 Script。 易学易用 如果您已了解Visual Basic 或Visual Basic for Applications,就会很快熟悉VBScript。即使您没有学过Visual Basic,只要学会VBScript,就能够使用所有的Visual Basic 语言进行程序设计。虽然您可以从本教程的几个Web 页面中学习VBscript,但是本教程并没有告诉您如何编程。要学习编程,请阅读由Microsoft Press 出版的《Step by Step》。 ActiveX Script VBScript 使用ActiveX? Script 与宿主应用程序对话。使用ActiveX Script,浏览器和其他宿主应用程序不再需要每个Script 部件的特殊集成代码。ActiveX Script 使宿主可以编译Script、获取和调用入口点及管理开发者可用的命名空间。通过ActiveX Script,语言厂商可以建立标准Script 运行时语言。Microsoft 将提供VBScript 的运行时支持。Microsoft 正在与多个Internet 组一起定义ActiveX Script 标准以使Script 引擎可以互换。ActiveX Script 可用在Microsoft? Internet Explorer 和Microsoft? Internet Information Server 中。 其他应用程序和浏览器中的VBScript 作为开发者,您可以在您的产品中免费使用VBScript 源实现程序。Microsoft 为32 位Windows? API、16 位Windows API 和Macintosh? 提供VBscript 的二进制实现程序。VBScript 与World Wide Web 浏览器集成在一起。VBScript 和ActiveX Script 也可以在其他应用程序中作为普通Script 语言使用。 SCRIPT 元素用于将 VBScript 代码添加到 HTML 页面中。