获取"变量未定义"尝试重置变量值时出错

时间:2015-07-06 20:22:12

标签: vbscript

我尝试运行一组文档并重置cur_pg的值,但出现以下错误:

  

脚本变量未定义:' cur_pg' ......

我的代码就是这样:

option explicit

'----------------- OnStartProcess -----------------
function OnStartProcess
  Line.value = empty
  Page.value = empty
  cur_pg = 0
  cur_line = 0
end function

''----------------- OnRecord -----------------
function OnRecord
  dim s: s = this.GetLine()
  dim pgn
  pgn =  this.GetPageNumber()
  if cur_pg.value <> pgn then cur_line.value = 1
  trg.Message s
  trg.Message dictin.P1.value
  if trg.strlib.InStr(s, Search.value )>0 then
    Line.value = Line.value & cur_line.value & ","
    Page.value = Page.value & this.GetPageNumber() & ","
  end if
  cur_line.value = cur_line.value  + 1
end function

'----------------- OnFinishProcess -----------------
function OnFinishProcess
  line.value = trg.strlib.Chop( line.value )
  page.value = trg.strlib.Chop( page.value )
  trg.Message line.value & " - " & page.value
end function

我定义这个变量吗?

1 个答案:

答案 0 :(得分:1)

您收到此错误是因为您的代码设置了Option Explicit

这会导致VB确保您声明了整个代码中使用的所有变量。

如果删除Option Explicit(或设置Option Explicit Off),您将能够使用尚未明确声明的变量。

我个人的偏好是总是使用明确的声明。如果您希望沿着这条路走下去,只需确保在使用之前Dim变量。

了解更多信息visit the MSDN article