源代码如下
Option ExplicitPrivate WithEvents wb As WebBrowser
Private WithEvents doc As HTMLDocumentPrivate Sub Command1_Click()
    MsgBox doc.body.innerHTML
End Sub'单击这个按钮时报错,Method 'Navigate2' of object 'IWebBrowser2' failed
Private Sub Command2_Click()
    wb.Navigate2 "http://www.baidu.com"
End SubPrivate Sub Form_Load()
    Set wb = New WebBrowser
    wb.Visible = True
End SubPrivate Sub Form_Unload(Cancel As Integer)
    If Not wb Is Nothing Then wb.Quit
    Set wb = Nothing
End SubPrivate Sub wb_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    Set doc = wb.document
End SubPrivate Sub wb_OnQuit()
    If wb.Busy Then wb.Stop
    Set wb = Nothing
End Sub
如果可以的话,上面这段代码应该怎么改呢?

解决方案 »

  1.   

    Option ExplicitPrivate WithEvents wb As InternetExplorer
    Private WithEvents doc As HTMLDocumentPrivate Sub Command1_Click()
        MsgBox doc.body.innerHTML
    End SubPrivate Sub Command2_Click()
        wb.Navigate2 "http://www.baidu.com"
    End SubPrivate Sub Form_Load()
        Set wb = New InternetExplorer
        wb.Visible = True
    End SubPrivate Sub Form_Unload(Cancel As Integer)
        If Not wb Is Nothing Then wb.ExecWB OLECMDID_CLOSE, OLECMDEXECOPT_DONTPROMPTUSER
        Set wb = Nothing
    End SubPrivate Sub wb_DocumentComplete(ByVal pDisp As Object, URL As Variant)
        Set doc = wb.document
    End Sub
      

  2.   

    我想知道能不能Set wb = New WebBrowser这样new 出来,不想看到界面,只用webbrowser,不用InternetExplorer,每次都是你第一个回复我,太谢谢你了。
      

  3.   

    //我想知道能不能Set wb = New WebBrowser这样new 出来,不想看到界面,只用webbrowser,不用InternetExplorer可以用controls.add动态添加控件的方法实现
      

  4.   

    //不想看到界面,只用webbrowser,不用InternetExplorerSet wb = New WebBrowser
    这样写,语法上是没有问题的,但是对于WebBrowser而言,它仍然不知道它的顶级窗口是什么,所以,有关接口的初始化会失败,导致调用Navigate2方法出现错误另外,如果只是想不出现界面的话,用我上面的代码,把:
    wb.Visible = True
    注释掉即可
      

  5.   

    那有什么其他东西好用吗,不要界面,只是为了加快速度,java或.net的也行
      

  6.   

    这个是传文件用的吧,能得到document吗?然后交给mshtml解析
      

  7.   

    而且session也不能维护。看来还是要自己做一个。谢谢你了,如果有什么好意见的话告诉我。