分享
 
 
 

VBScript语法错误

王朝vb·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

如果 VBScript 语句结构违反了一个或多个 VBScript 脚本语言语法规则,就会产生 VBScript 语法错误。VBScript 语法错误通常在执行程序前,编译程序时产生。

十进制

十六进制

说明

1001

800A03E9

内存不足

1002

800A03EA

语法错误

1003

800A03EB

缺少 ':'

1005

800A03ED

需要 '('

1006

800A03EE

需要 ')'

1007

800A03EF

缺少 ']'

1010

800A03F2

需要标识符

1011

800A03F3

需要 '='

1012

800A03F4

需要 'If'

1013

800A03F5

需要 'To'

1014

800A03F6

需要 'End'

1015

800A03F7

需要 'Function'

1016

800A03F8

需要 'Sub'

1017

800A03F9

需要 'Then'

1018

800A03FA

需要 'Wend'

1019

800A03FB

需要 'Loop'

1020

800A03FC

需要 'Next'

1021

800A03FD

需要 'Case'

1022

800A03FE

需要 'Select'

1023

800A03FF

需要表达式

1024

800A0400

需要语句

1025

800A0401

需要语句的结束

1026

800A0402

需要整数常数

1027

800A0403

需要 'While' 或 'Until'

1028

800A0404

需要 'While,'、'Until,' 或语句未结束

1029

800A0405

需要 'With'

1030

800A0406

标识符太长

1031

800A0407

无效的数字

1032

800A0408

无效的字符

1033

800A0409

未结束的串常量

1034

800A040A

未结束的注释

1037

800A040D

无效使用关键字 'Me'

1038

800A040E

'loop' 没有 'do'

1039

800A040F

无效 'exit' 语句

1040

800A0410

无效 'for' 循环控制变量

1041

800A0411

名称重定义

1042

800A0412

必须为行的第一个语句

1043

800A0413

不能赋给非Byval参数

1044

800A0414

调用 Sub 时不能使用圆括号

1045

800A0415

需要文字常数

1046

800A0416

需要 'In'

1047

800A0417

需要 'Class'

1048

800A0418

必须在一个类的内部定义

1049

800A0419

在属性声明中需要 Let , Set 或 Get

1050

800A041A

需要 'Property'

1051

800A041B

参数数目必须与属性说明一致

1052

800A041C

在类中不能有多个缺省的属性/方法

1053

800A041D

类初始化或终止不能带参数

1054

800A041E

Property Let 或 Set 至少应该有一个参数

1055

800A041F

不需要的 'Next'

1056

800A0420

只能在 'Property' 或 'Function' 或 'Sub' 上指定 'Default'

1057

800A0421

说明 'Default' 必须同时说明 'Public'

1058

800A0422

只能在 Property Get 中指定 'Default'

内存不足

分配与该计算机有效内存一样多的内存。这可能是一个动态分配数组增长得太大,或者是对象实例数目过多。

要纠正该错误

使用Erase语句来重新分配动态数组的储存空间。

使用ReDim语句来重新分配储存空间。

关闭任何已经打开、不必需的应用程序,文件或者源文件。

语法错误

创建的语句中违反了VBScript的语法规则。

要纠正该错误

检查两遍表达式中元素的数目。

寻找间接的括号。

需要 '('

当创建过程说明时未包含开括号“(”,

Sub foo x // x需要使用圆括号括起来。 End Sub

或使用redim 语句。

Redim x // x需要使用圆括号括起来。

要纠正该错误

添加左(开)括号“(”。

需要 ')'

试图封装一套括号中的表达式,但未包含闭括号“)”。必须用一套开括号和闭括号封装一些表达式。

要纠正该错误

给要求值的表达式添加右(闭)括号“)”。

需要标识符

使用VBScript 保留词作为变量名称。

要纠正该错误

使用其它名称(一个不是VBScript保留词的名称)。

以[ ]封装保留词。

需要 '='

使用Set 语句,但未包含=。

要纠正该错误

使用Set 语句的完整语法。

需要 'If'

创建了一个If...Then...Else 块,但未正常结束块。块语句If 必须为一行的第一个语句,且必须以End If 结束。下面演示了一个If...Then...Else块 的正确结构。

If condition Then

[statements]

[ElseIf condition-n Then

[elseifstatements]] . . .

[Else

[elsestatements]]

End If

要纠正该错误

检查块If 语句是否以End 语句。如果是的话,将它改成End If 语句。

需要 'To'

创建一个For...Next 循环,但没有在第一行中包含关键词To。一个For...Next循环 的第一行必须包含关键词To 。下面演示了一个For...Next 循环的正确结构。

For counter = start To end [Step step]

[statements]

[Exit For]

[statements]

Next

要纠正该错误

确保For...Next循环包含了所有必须的部分。

需要 'End'

创建结构但未正常结束。下表列出了必须以End语句结束的结构。

结构

结束语句

Sub

End Sub

Function

End Function

If

End If

Class

End Class

With

End With

Select

End Select

要纠正该错误

以End Sub语句结束一个Sub过程。

以End Function 结束一个Function过程。

以End If 语句结束一个If 语句。

以End Class 语句结束一个Class语句。

以End With 语句结束一个With语句。

以End Select 语句结束一个Select语句。

需要 'Function'

创建一个Function过程,但是以关键词End结束, 而不是以End Function 语句结束。一个Function过程必须包含结束语句End Function 。

要纠正该错误

以语句End Function 结束Function过程。

需要 'Sub'

创建了一个Sub 过程,但是使用关键字End结束而不是使用End Sub 语句终止。一个Sub过程必须包含一个End Sub终止语句。

要纠正该错误

使用End Sub 语句终止Sub 过程。

需要 'Then'

创建了一个If...Then...Else结束,但在第一行中为包含关键字Then。下面的代码演示了If...Then...Else 结构的正确使用。

If condition Then statements [Else elsestatements ]

或者可以使用块形式语法:

If condition Then

[statements]

[ElseIf condition-n Then

[elseifstatements]] . . .

[Else

[elsestatements]]

End If

要纠正该错误

确保 If...Then...Else结构包含了所有必须的部分。

需要 'Wend'

创建了一个While...Wend 循环,但是没有正确终止循环。一个 While...Wend 循环必须使用语句Wend 来终止。下面演示了一个While...Wend 循环的正确结构。

While condition

Version [statements]

Wend

要纠正该错误

确保While...Wend循环包含了所有必须的部分。

需要 'Loop'

创建了一个Do 循环结构,但未正常中断循环。Do 循环结构与Loop 语句相关联结束。下面演示了Do 循环结构的正确使用。

Do [{While | Until} condition]

[statements]

[Exit Do]

[statements]

Loop

或者可以使用下面的语法:

Do

[statements]

[Exit Do]

[statements]

Loop [{While | Until} condition]

要纠正该错误

确保Do循环结构包含了所有必须的部分。

需要 'Next'

创建了一个For...Next 循环结构,但未正常结束循环。一个For...Next 循环结构必须以一个Next语句结束。下面演示了一个For...Next 循环结构的正确结构。

For counter = start To end [Step step]

[statements]

[Exit For]

[statements]

Next

要纠正该错误

确保For...Next循环结构包含了所有必须的部分。

需要 'Case'

创建Select...End Select 构造,但未包含任何Case语句。下面演示了Select...End Select 构造的正确使用方法。

Select Case testexpression

[Case expressionlist-n [statements-n]] . . .

[Case Else expressionlist-n [elsestatements-n]]

End Select

要纠正该错误

确保Select...End Select 构造包含所有必须的部分。

需要 'Select'

创建了一个Select...End Select 结构,但未包含结束语句End Select 。下面演示了Select...End Select 结构的正确使用方法。

Select Case testexpression

[Case expressionlist-n [statements-n]] . . .

[Case Else expressionlist-n [elsestatements-n]]

End Select

要纠正该错误

确保Select...End Select结构包含了所有必须的部分

需要表达式

创建一个Select...End Select结构,但包含一个Case分句。Case Else语句(失败的情况)必须在它自己那一行出现。下面演示了Select...End Select 结构的正确使用。

Select Case testexpression

[Case expressionlist-n [statements-n]] . . .

[Case Else expressionlist-n

[elsestatements-n]]

End Select

要纠正该错误

为Case Else 语句另起一行。

需要语句

作为参数传递给Execute语句的字符串无法被解析为一个语句。Execute语句不能被用来动态执行VBScript代码。例如,考虑如下的 VBScript代码。

Execute "msgbox 1" '因为msgbox是一个语句,所以有效。

Execute "5*4" '由于5*4无法被解释为一个语句所以失败。

不仅仅是Execute和Eval ,在任何需要一个语句的脚本代码的编译过程中也产生Expected statement错误。例如,如下代码在Internet Explorer 中造成这个错误,

<html>

<script language=vbscript>

5*4

</script>

</html>

注意这里有两个在VBScript中不同且无关的语句,

编译并执行不工作语句的Execute语句,

Execute 方法.

要纠正该错误

确保传递给Execute 语句的字符串为一个语句。

如果要求值的字符串为一个表达式,使用Eval。

需要语句的结束

在语句结尾外出现文字。

要纠正该错误

移去额外的文字。

如果要注释代码行,在语句的结尾处插入单引号"'"。

需要整数常数

试图在Dim 语句中使用非常数创建一个数组。在VBScript中,Dim 语句中大小值必须为一个常数。例如,

Dim a(10) ' 有效。

Dim a(x) ' 无效。

Dim a(1=2) ' 无效

要纠正该错误

使用ReDim 语句

需要 'While' 或 'Until'

创建了一个Do循环,但是未包含相关的While 或 Until 关键词。一个Do 循环的测试条件需要在测试条件语句中使用一个While或Until 关键词。下面演示 一个Do 循环的正确结构。

Do [{While | Until} condition]

[statements]

[Exit Do]

[statements]

Loop

或者可以使用语法:

Do

[statements]

[Exit Do]

[statements]

Loop [{While | Until} condition]

要纠正该错误

确保Do循环包含了所有必须的部分。

需要 'While'、'Until' 或语句结束

创建了一个Do循环,但是未包含相关的关键词While 或 Until。一个Do 循环的测试条件需要在测试条件语句中使用一个While或Until 关键词。下面演示了 一个Do 循环的正确结构。

Do [{While | Until} condition]

[statements]

[Exit Do]

[statements]

Loop

Or, you can use this syntax:

Do

[statements]

[Exit Do]

[statements]

Loop [{While | Until} condition]

要纠正该错误

确保Do循环包含了所有必须的部分。

使用关键字While 或 Until来结束Do循环。loop with either the While or Until keywords。

需要 'With'

创建了一个With块,但是以关键词End而不是语句End With 结束。一个 With 块必须使用一个End With 语句结束。下面演示了With块的正确组成。

With object

statements

End With

要纠正该错误

如果使用关键词End 结束一个With块,将它改成End With语句。

确保With控制结构了所有必须的部分。

标识符太长

创建了一个包含态多字符的变量或函数名称。限制为255个字符。

要纠正该错误

选择一个较短的名称。

无效数字

表达式的一个值太大或超出范围。

要纠正该错误

使用较小的值。

无效字符

在一个表达式中试图使用双字节字符集(DBCS)或其他不被支持的字符。

要纠正该错误

将不被支持的字符封装在方括号[]中。

未终止字符串常数

没有用封闭的引号来结束字符串常数。字符串常数必须用一对引号来封闭。

要纠正该错误

在字符串尾部加上封闭的引号。

无效使用关键词 'Me'

试图使用Set给标识符 Me赋值。Me是一个被保留的标识符,且不能被设定。

要纠正该错误

将变量的名称改成与Me不同。

'loop' 没有 'do'

创建了一个Do 循环,但未正确地建立循环。Do 循环以Do语句开始。下面演示了一个Do 循环的正确结构。

Do [{While | Until} condition]

[statements]

[Exit Do]

[statements]

Loop

或者可以使用这个语法:

Do

[statements]

[Exit Do]

[statements]

Loop [{While | Until} condition]

要纠正该错误

在不删除Loop 语句的情况下可能试图删除一个Do 控制结构。

确保Do循环包含了所有必须的部分。

无效 'exit' 语句

在以下程序控制结构之一中使用了Exit 语句:

With 语句。

If...Then...Else语句。

Select Case语句。

仅在如下结构中可以合法使用Exit 语句来退出:

Do...While 循环(Exit Do)。

For...Next 循环(Exit For)。

For Each...Next 循环(Exit For)。

Function 过程(Exit Function)。

Sub 过程(Exit Sub)。

要纠正该错误

可能不适当地使用了Exit If, Exit With,或Exit Select。

不要和If, With,Select 语句一起使用Exit。

无效 'for' 循环控制变量

创建了一个For...Next循环。换句话说,可能在For...Next中使用了一个非法的控制变量。下面的代码演示了一个For...Next 循环的正确结构。

For counter = start To end [Step step]

[statements]

[Exit For]

[statements]

Next

要纠正该错误

修改For...Next 循环的控制变量,使其在外循环的范围内唯一。

名称重定义

声明了一个在脚本其他地方已经使用的名称。

要纠正该错误

改变标识符名称使其在脚本的全局范围内唯一。

必须为行的第一个语句

代码的多语句行包含了一个If...Then...Else 语句, 但If...Then...Else 语句不是改行的第一个语句。If...Then...Else 语句必须为行的第一个语句。

要纠正该错误

将If 或 Else语句移动到新的一行。

调用 Sub 时不能使用圆括号

未使用Call调用子程序,但是使用了圆括号()。当不使用Call 语句调用子程序时,不要使用圆括号。

要纠正该错误

在调用子程序的地方移去圆括号。

改用Call 语句调用子程序。

需要文字常数

声明常数,但是赋予其变化的表达式(可以变化的值)。常数不能包含运行时代码。

要纠正该错误

当声明常数时不使用表达式。

需要 'In'

创建一个For Each...Next 块,但在第一行未包括关键词In 。下面演示了For Each...Next 块的正确结构。

For Each element In group

[statements]

[Exit For]

[statements]

Next [element]

要纠正该错误

确保For Each...Next 块包含了所有必须的部分。

需要 'Class'

创建一个Class 过程,但是以关键词End结束,而不是使用语句End Class。通常使用End Class语句结束Class 过程。

要纠正该错误

使用End Class语句结束Class 过程。

必须在一个类的内部定义

创建了一个 Property 过程(Property Let, Property Set,或 Property Get), 但是在 Class 定义的外部进行了定义。只能在同一类里面创建 Property 过程。

要纠正该错误

确保所有的 Property Let,Property Set 和 Property Gets 在一个 Class 定义里面定义了。

在属性声明中需要 Let或 Set 或 Get

创建了一个Property Let, Property Set,或 Property Get 语句,但未包含关键词Let, Set, 或 Get。Property 语句后面必须带Let,Set,或 Get。

要纠正该错误

确保Property 语句后面跟Let, Set, 或Get。

需要 'Property'

创建了一个Property 过程(Property Let,Property Set,或Property Get), 但未使用End Property 语句结束过程。Property过程必须以End Property语句结束。

要纠正该错误

确保 Property过程以End Property语句结束。

参数数目必须与属性说明一致

所说明的参数数目太少了。当使用Property Let 或 Property Set,参数数目必须比相应的Property Get 返回的数字大1。

要纠正该错误

确保Property Let 和 Property Set 至少比由Property Get.返回的参数数目多1。

在类中不能有多个缺省的属性/方法

在类定义中标记了多于一个的缺省属性或方法。在类中只能有一个缺省的属性和方法。

要纠正该错误

确保该类只有一个缺省的属性和方法。

类初始化或终止不能带参数

类定义带有Class_Initialize事件或Class_Terminate 事件。这些过程有一个或更多的参数。不要给这些过程指定参数。

要纠正该错误

从类定义中移去参数。

Property Set 或 Let 至少应该有一个参数

说明了一个没有参数的类的 Set 或 Let 句柄的访问者。

要纠正该错误

增加一个参数给属性访问者。

不需要 'Next'

创建了一个For...Next 或者For Each...Next 构造,但没有包含For语句。例如,在试图去掉For...Next构造时保留了Next语句。下面演示了For...Next构造的正确用法。

For counter = start To end [Step step]

[statements]

[Exit For]

[statements]

Next

要纠正该错误

加上For语句 (循环控制语句)。

去掉多余的Next语句。

只能在 Property Get 中指定 'Default'

对Property Let 或 Property Set 使用了保留字 Default。只能对 Property Get 指定保留字 Default 。

要纠正该错误

只对 Property Get 指定保留字 Default 。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有