Private Sub Button1_Click()
        For i = 0 To 2
            Do While WebBrowser1.IsBusy
                Application.DoEvents()
            Loop
            If i = 0 Then
                WebBrowser1.Navigate("http://www.163.com")
            ElseIf i = 1 Then
                WebBrowser1.Navigate("http://www.sina.com")
            ElseIf 1 = 2 Then
                WebBrowser1.Navigate("http://www.baidu.com")
            End If        Next i
    End Sub我写了上面的代码,但是执行完了之后,webbrowser好像并不是加载第一个网页,然后再加载第二个第三个。
怎么才能循环利用webbrowser让他循环加载不同的页面呢?

解决方案 »

  1.   

    Dim BLN As Boolean
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Private Sub Button1_Click()
           
                    WebBrowser1.Navigate ("http://www.163.com")
    lINE:
            If BLN = False Then
            DoEvents
            GoTo lINE
    Else
    BLN = False
    End If
                
                    WebBrowser1.Navigate ("http://www.sina.com")
    lINE1:
            If BLN = False Then
            DoEvents
            GoTo lINE1
    Else
    BLN = False
    End If
               
                    WebBrowser1.Navigate ("http://www.baidu.com")
                   
        End Sub
    Private Sub Form_Load()
    BLN = False
    End SubPrivate Sub WebBrowser1_DownloadComplete()
    BLN = True
    Sleep 5000
    End Sub
      

  2.   

    谢谢楼上的关注,我用在代码中添加新的webbrowser控件看看
      

  3.   

    '窗体放一WebBrowser控件,一CommandButton.
    Option ExplicitDim sCurURL As String, sNextURL As StringPrivate Sub Command1_Click()
        sCurURL = "www.m5home.com"
        sNextURL = "www.superkill.cn"
        
        Call WebBrowser1.Navigate(sCurURL)
    End SubPrivate Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
        '当前站点加载完成后再浏览下一个站点
        
        Dim sURL As String
        
        sURL = Replace(URL, "http://", "")
        sURL = Replace(sURL, "/", "")
        Debug.Print sURL            '替换不需要的部分,方便判断
        
        If sURL = sCurURL Then
            Call GetNextURL         '取得下一个浏览的站点
            Call WebBrowser1.Navigate(sCurURL)
        End If
    End SubPrivate Sub GetNextURL()
        '切换下一个浏览的站点.自己添加更多.如果网址太多,可以从文件中读取,就不用写个超级Select Case语句了.
        
        Select Case sCurURL
            Case "www.m5home.com"
                sCurURL = sNextURL
                sNextURL = "www.csdn.net"
            Case "www.csdn.net"
                sCurURL = sNextURL
                sNextURL = "www.superkill.cn"
            Case "www.superkill.cn"
                sCurURL = sNextURL
                sNextURL = "www.m5home.com"
        End Select
    End Sub
    利用DocumentComplete事件可以完成你要的功能.如果想要在每个站点打开后延时切换,可以在GetNextURL中触发一个定时器,然后把在DocumentComplete事件中Call WebBrowser1.Navigate(sCurURL)一句放在定时器里即可.逻辑应该比较清晰,自己分析吧.