Private  Sub  WebBrowser1_Document(ByValpDisp  As  Object,  URL  As  Variant) 
      If  Not  (pDisp  Is  WebBrowser1.Object)  Then  Exit  Sub 在网上找的判断网页是否完全打开全是以WebBrowser1_Document开头,但是我要的是自动把EXCELL表中的数据一个一个的填写上去,需要循环,并且要中间还要不断进入新的页面,我想能不能找个别的方法进行判断??

解决方案 »

  1.   

    Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
    ....
    End Sub把填写数据写在TIMER里面,隔几秒填写一次
      

  2.   

    是不是以后还要的要用WebBrowser1_NavigateComplete3
    WebBrowser1_NavigateComplete4??用TIMER有一个缺点就是网络不稳定时或延时很长时他会出现错误。
    由于网络不是很稳定,有时候很长时间他都不能完全打开网页,我只能用“是否完全下载页面”来判断,还请高手再帮下菜鸟.
      

  3.   

    Dim doc As Object
        Dim i As Object
        Dim strHtml As String
        on error resume next
        Set doc = WebBrowser1.Document
        For Each i In doc.All
            strHtml = strHtml & Chr(13) & i.innertext
        Next
        getWebContent = strHtml
        
    If InStr(getWebContent, "成功") > 0 Then
    '自己的操作
    end if
      

  4.   

    补充一下
    上面的代码 放在一个TINER控件中 没隔一秒检查一次
      

  5.   

    一般来说,你已经判断了网页是否完全打开了。
    也可以用进一步在VB中获得body_onload事件进行判断。
    具体思路是,增加一个类,在VB里新建一个类,再添加一个公共过程,通过工具菜单的过程属性将此过程设置默认,在DocumentComplete事件中将类绑定到body的onload事件中,具体语句为:set me.webbrowser1.Document.body.onload=new class1。
    如果是使用了AJAX,则可以在脚本中自定义一个事件表示全部加载完毕,VB通过上述方法获得这个自定义事件进行判断。
      

  6.   

    原来那个东西是写在TIMER里面的啊!
    还有个问题,那就是循环怎么写?我是从EXCELL中提取数据,这样写行不?大家给教下吧!我这样写中不?
    Private  Sub  WebBrowser1_Document(ByValpDisp  As  Object,  URL  As  Variant)
    '打开网页1          '再打开EXCELL
    FOR i=1 to 300
          If  Not  (pDisp  Is  WebBrowser1.Object)  Then 
             For I = 1 To objDoc.All.Length - 1
               If objDoc.All(I).Name = "username" Then
                 objDoc.All(I).Value = sh.cells(i,2)      ‘填数据与点击
    ....................end if 
    '打开网页2
          If  Not  (pDisp  Is  WebBrowser1.Object)  Then 
             For I = 1 To objDoc.All.Length - 1
               If objDoc.All(I).Name = "username1" Then
                 objDoc.All(I).Value = sh.cells(i,3)
    。end if 
    NEXT可否???  
      

  7.   

    换一个来,大家看下可否?
    Private Sub Command1_Click()
    Dim ex As Object
    Dim wb As Object
    Dim sh As Object
    Dim Doc as object
    dim i as integer
    Set ex = CreateObject("Excel.Application")
    Set wb = ex.Workbooks.Open("c:\1.xls")
    Set sh = wb.Sheets(1)                  
    FOR i=2 to 200  
    Webbrowser1.Navigate "http://192.168.1.2"   '打开需要的网页
      Do While WebBrowser1.IsBusy
                    Application.DoEvents()        '等待网页完全打开
    Set Doc = WebBrowser1.Document
                 Doc("name").click                             ‘点一个按钮
      Do While WebBrowser1.IsBusy
                    Application.DoEvents()        '再等待网页完全打开
      Doc("work")=sh.cells(i,2)
      Doc("end").click
    next ex.Visible = True
      Set ex = Nothing
      Set wb = Nothing
      Set sh = Nothing        
    end sub