十进制 | 十六进制 | 说 明 |
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' |
分配与该计算机有效内存一样多的内存。这可能是一个动态分配数组增长得太大,或者是对象实例数目过多。
要纠正该错误
创建的语句中违反了VBScript的语法规则。
要纠正该错误
当创建过程说明时未包含开括号“(”,
Sub foo x // x需要使用圆括号括起来。 End Sub
或使用redim 语句。
Redim x // x需要使用圆括号括起来。
要纠正该错误
试图封装一套括号中的表达式,但未包含闭括号“)”。必须用一套开括号和闭括号封装一些表达式。
要纠正该错误
使用VBScript 保留词作为变量名称。
要纠正该错误
使用Set 语句,但未包含=。
要纠正该错误
创建了一个If...Then...Else 块,但未正常结束块。块语句If 必须为一行的第一个语句,且必须以End If 结束。下面演示了一个If...Then...Else块 的正确结构。
If condition Then
[statements]
[ElseIf condition-n Then
[elseifstatements]] . . .
[Else
[elsestatements]]
End If
要纠正该错误
创建一个For...Next 循环,但没有在第一行中包含关键词To。一个For...Next循环 的第一行必须包含关键词To 。下面演示了一个For...Next 循环的正确结构。
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next
要纠正该错误
创建结构但未正常结束。下表列出了必须以End语句结束的结构。
结构 | 结束语句 |
---|---|
Sub | End Sub |
Function | End Function |
If | End If |
Class | End Class |
With | End With |
Select | End Select |
要纠正该错误
创建一个Function过程,但是以关键词End结束, 而不是以End Function 语句结束。一个Function过程必须包含结束语句End Function 。
要纠正该错误
创建了一个Sub 过程,但是使用关键字End结束而不是使用End Sub 语句终止。一个Sub过程必须包含一个End Sub终止语句。
要纠正该错误
创建了一个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
要纠正该错误
创建了一个While...Wend 循环,但是没有正确终止循环。一个 While...Wend 循环必须使用语句Wend 来终止。下面演示了一个While...Wend 循环的正确结构。
While condition
Version [statements]
Wend
要纠正该错误
创建了一个Do 循环结构,但未正常中断循环。Do 循环结构与Loop 语句相关联结束。下面演示了Do 循环结构的正确使用。
Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop
或者可以使用下面的语法:
Do
[statements]
[Exit Do]
[statements]
Loop [{While | Until} condition]
要纠正该错误
创建了一个For...Next 循环结构,但未正常结束循环。一个For...Next 循环结构必须以一个Next语句结束。下面演示了一个For...Next 循环结构的正确结构。
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next
要纠正该错误
创建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 结构,但未包含结束语句End Select 。下面演示了Select...End Select 结构的正确使用方法。
Select Case testexpression
[Case expressionlist-n [statements-n]] . . .
[Case Else expressionlist-n [elsestatements-n]]
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
要纠正该错误
作为参数传递给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中不同且无关的语句,
要纠正该错误
在语句结尾外出现文字。
要纠正该错误
试图在Dim 语句中使用非常数创建一个数组。在VBScript中,Dim 语句中大小值必须为一个常数。例如,
Dim a(10) ' 有效。
Dim a(x) ' 无效。
Dim a(1=2) ' 无效
要纠正该错误
创建了一个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 循环的正确结构。
Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop
Or, you can use this syntax:
Do
[statements]
[Exit Do]
[statements]
Loop [{While | Until} condition]
要纠正该错误
创建了一个With块,但是以关键词End而不是语句End With 结束。一个 With 块必须使用一个End With 语句结束。下面演示了With块的正确组成。
With object
statements
End With
要纠正该错误
创建了一个包含态多字符的变量或函数名称。限制为255个字符。
要纠正该错误
表达式的一个值太大或超出范围。
要纠正该错误
在一个表达式中试图使用双字节字符集(DBCS)或其他不被支持的字符。
要纠正该错误
没有用封闭的引号来结束字符串常数。字符串常数必须用一对引号来封闭。
要纠正该错误
试图使用Set给标识符 Me赋值。Me是一个被保留的标识符,且不能被设定。
要纠正该错误
创建了一个Do 循环,但未正确地建立循环。Do 循环以Do语句开始。下面演示了一个Do 循环的正确结构。
Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop
或者可以使用这个语法:
Do
[statements]
[Exit Do]
[statements]
Loop [{While | Until} condition]
要纠正该错误
在以下程序控制结构之一中使用了Exit 语句:
仅在如下结构中可以合法使用Exit 语句来退出:
要纠正该错误
创建了一个For...Next循环。换句话说,可能在For...Next中使用了一个非法的控制变量。下面的代码演示了一个For...Next 循环的正确结构。
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next
要纠正该错误
声明了一个在脚本其他地方已经使用的名称。
要纠正该错误
代码的多语句行包含了一个If...Then...Else 语句, 但If...Then...Else 语句不是改行的第一个语句。If...Then...Else 语句必须为行的第一个语句。
要纠正该错误
未使用Call调用子程序,但是使用了圆括号()。当不使用Call 语句调用子程序时,不要使用圆括号。
要纠正该错误
声明常数,但是赋予其变化的表达式(可以变化的值)。常数不能包含运行时代码。
要纠正该错误
创建一个For Each...Next 块,但在第一行未包括关键词In 。下面演示了For Each...Next 块的正确结构。
For Each element In group
[statements]
[Exit For]
[statements]
Next [element]
要纠正该错误
创建一个Class 过程,但是以关键词End结束,而不是使用语句End Class。通常使用End Class语句结束Class 过程。
要纠正该错误
创建了一个 Property 过程(Property Let, Property Set,或 Property Get), 但是在 Class 定义的外部进行了定义。只能在同一类里面创建 Property 过程。
要纠正该错误
创建了一个Property Let, Property Set,或 Property Get 语句,但未包含关键词Let, Set, 或 Get。Property 语句后面必须带Let,Set,或 Get。
要纠正该错误
创建了一个Property 过程(Property Let,Property Set,或Property Get), 但未使用End Property 语句结束过程。Property过程必须以End Property语句结束。
要纠正该错误
所说明的参数数目太少了。当使用Property Let 或 Property Set,参数数目必须比相应的Property Get 返回的数字大1。
要纠正该错误
在类定义中标记了多于一个的缺省属性或方法。在类中只能有一个缺省的属性和方法。
要纠正该错误
类定义带有Class_Initialize事件或Class_Terminate 事件。这些过程有一个或更多的参数。不要给这些过程指定参数。
要纠正该错误
说明了一个没有参数的类的 Set 或 Let 句柄的访问者。
要纠正该错误
创建了一个For...Next 或者For Each...Next 构造,但没有包含For语句。例如,在试图去掉For...Next构造时保留了Next语句。下面演示了For...Next构造的正确用法。
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next
要纠正该错误
对Property Let 或 Property Set 使用了保留字 Default。只能对 Property Get 指定保留字 Default 。
要纠正该错误