For lngM = 0 To WebData.document.frames.length - 1
            On Error GoTo NextM
            Select Case UCase(WebData.document.frames(lngM).document.getElementsByName("username")(0).tagName)
            Case ""
'代码
            Case Else
            End Select
NextM:
        Next代码会在第3行出现91错误:“对象变量或 With 块变量未设置”为什么“On Error GoTo”没有起到跳转作用呢?!

解决方案 »

  1.   

                 On Error GoTo NextM 
      For lngM = 0 To WebData.document.frames.length - 1             Select Case UCase(WebData.document.frames(lngM).document.getElementsByName("username")(0).tagName) 
                Case "" 
    '代码 
                Case Else 
                End Select 
            Next 
    NextM: 
     XXXXXXXXXXXXXXXX
      

  2.   

    估计你NextM以下的XXXXXXXXXXXXXXXX中又有错误....
      

  3.   

    On Error GoTo NextM 
    应该放在for语句前...
      

  4.   

    On Error GoTo NextM放在for前面同样出现错误
      

  5.   

    就这里的问题用“On Error Resume Next”可以解决但如果End Select之后有代码要执行的话就会出现新的不必要错误
      

  6.   

                On Error GoTo NextM 
      For lngM = 0 To WebData.document.frames.length - 1             Select Case UCase(WebData.document.frames(lngM).document.getElementsByName("username")(0).tagName) 
                Case "" 
    '代码 
                Case Else 
                End Select 
            Next 
    Exit Sub
    NextM: 
    XXXXXXXXXXXXXXXX 
      

  7.   

    nextM没有exit过程,不出错都有问题了
      

  8.   

    还是看看MSDN关于On Error的规范例子
      

  9.   

    WebData.document.frames(lngM).document.getElementsByName("username")(0).tagName
      

  10.   

    如果那个地方出错就说明这个数据不对,继续下一个数据我感觉很郁闷的是,有 on error语句为什么还要提示错误呢?!
      

  11.   

    on error本身就是异常抛出,你想不让它出提示,就不能用on error,写一个判断过程,在执行case前先进行判断,异常自动跳转,否则正常执行。