登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

.

.

 
 
 

日志

 
 

2009年7月23日  

2009-07-23 21:41:05|  分类: 网页代码 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

VBScript语法错误



如果 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 。
  评论这张
 
阅读(268)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018