Board logo

標題: [發問] WebBrowser1在Excel VBA無法運行 [打印本頁]

作者: Amin    時間: 2014-7-26 12:14     標題: WebBrowser1在Excel VBA無法運行

本帖最後由 Amin 於 2014-7-26 12:15 編輯

WebBrowser1在自己寫的Excel VBA無法運行
使用別人寫好的WebBrowser1卻可以運行
引用項目也添加了「Microsoft HTML Object Libaray」
請問各位要如何能將自己寫的ExcelVBA運行WebBrowser1?
如下程式碼
  1. Sub test()
  2.    WebBrowser1.Navigate "http://www.google.com/"
  3.     Do Until WebBrowser1.ReadyState = READYSTATE_COMPLETE
  4.         DoEvents
  5.     Loop
  6.     On Error Resume Next
  7.     WebBrowser1.Navigate "about:blank"
  8. End Sub
複製代碼

作者: Amin    時間: 2014-7-26 12:21

補上一張發生錯誤的圖
[attach]18762[/attach]
作者: c_c_lai    時間: 2014-7-26 19:34

回復 2# Amin
  1. Sub test()
  2.     Dim WebBrowser1 As Object
  3.    
  4.     Set WebBrowser1 = CreateObject("InternetExplorer.Application")
  5.    
  6.     WebBrowser1.Navigate "http://www.google.com/"
  7.     ' Do Until WebBrowser1.ReadyState = READYSTATE_COMPLETE
  8.     '     DoEvents
  9.     ' Loop
  10.     MsgBox WebBrowser1.ReadyState
  11.     On Error Resume Next
  12.     WebBrowser1.Navigate "about:blank"
  13. End Sub
複製代碼

作者: Amin    時間: 2014-7-26 22:02

本帖最後由 Amin 於 2014-7-26 22:05 編輯

回復 3# c_c_lai

感謝c_c_lai 大大的回覆

不過我要的不是這樣的內容,我知道可以直接用CreateObject("InternetExplorer.Application")這個
但這樣就不是WebBrowser1 物件了,會變成InternetExplorer物件操作,我要的是純WebBrowser1 物件來進行操作

我附上我找到的範例,用純WebBrowser1 物件寫的
可以參考看看他並沒有用CreateObject("InternetExplorer.Application"),
他只只有在「引用項目」添加了「Microsoft HTML Object Libaray」
在「Microsoft HTML Object Libaray」裡面有包含InternetExplorer與WebBrowser1 這兩個物件
我能做的都已經跟他做到相同的設定了,不知道是不是還有少
請c_c_lai 大與各位大大參考附件
[attach]18764[/attach]
作者: GBKEE    時間: 2014-7-27 15:32

回復 2# Amin


    [attach]18766[/attach]
  1. Sub Ex()
  2.     Dim Rng As Range
  3.     With Sheet1
  4.         Set Rng = .[b2].Resize(30, 15)
  5.         With .OLEObjects.Add(ClassType:="Shell.Explorer.2", Left:=Rng.Left, Top:=Rng.Top, _
  6.                 Width:=Rng.Width, Height:=Rng.Height)
  7.                 .Object.Navigate "http://forum.twbts.com/thread-12287-1-1.html"
  8.         End With
  9.        .Select
  10.     End With
  11. End Sub
  12. '************************************
  13. Sub Ex1() '.OLEObjects.Add 之後 可如此
  14.     Sheet1.WebBrowser1.Navigate "http://bendi.koubei.com/search/searchstore.html?option.cityname=%CE%C2%D6%DD&option.category=4&option.distance=2000&pageNo=1"
  15. End Sub
複製代碼

作者: Amin    時間: 2014-7-27 19:36

回復 5# GBKEE

感謝GBKEE大回應,你提的方式我也試過是可行的
但我在前面有回應c_c_lai 大時有附上範例
這個範例並未使用GBKEE大的方法,也可以讓WebBrowser1動作
而且我也試過將以下的程式寫在附件的範例裡面,也是可以work
請問GBKEE大有解法嗎?
  1. Sub test()
  2.    WebBrowser1.Navigate "http://www.google.com/"
  3.     Do Until WebBrowser1.ReadyState = READYSTATE_COMPLETE
  4.         DoEvents
  5.     Loop
  6.     On Error Resume Next
  7.     WebBrowser1.Navigate "about:blank"
  8. End Sub
複製代碼

作者: GBKEE    時間: 2014-7-28 15:23

回復 6# Amin


   
WebBrowser1在自己寫的Excel VBA無法運行
使用別人寫好的WebBrowser1卻可以運行
可以看看你的檔案嗎?
作者: Amin    時間: 2014-7-28 15:40

回復 7# GBKEE


GBKEE大
我的檔案�堶探N只有用我貼出來的程式碼而已
在引用項目裡添加「Microsoft HTML Object Libaray」
其他的都沒有做任何事
作者: GBKEE    時間: 2014-7-28 15:55

回復 8# Amin
1# 錯誤圖示 此處需要物件
就是告訴你沒有WebBrowser1這物件
你不附檔上來誰知道你的你的錯誤在那裡.
作者: Amin    時間: 2014-7-28 16:02

回復 9# GBKEE


    [attach]18778[/attach]
作者: Amin    時間: 2014-7-28 16:07

回復 9# GBKEE


    我知道錯誤在哪,如我一開始補圖
[attach]18779[/attach]
作者: Amin    時間: 2014-7-29 12:11

回復 11# Amin

錯誤訊息已明確說明,如圖
[attach]18785[/attach]

別人的範例可以work,如附件
[attach]18786[/attach]

請問GBKEE大大,該怎麼才能讓我的範例在不添加OLEObjects情況下也能work,如圖
[attach]18784[/attach]

感謝
作者: stillfish00    時間: 2014-7-29 20:06

回復 12# Amin
你所謂可以work的範例,是因為他已經手動加入一個WebBrowser的控制項了
只是他把那個控制項的寬和高縮小讓你看不見而已...
所以你自己手動加入控制項就可以了...
作者: Amin    時間: 2014-7-29 21:40

回復 13# stillfish00


stillfish00大感謝你的回覆

請問有辦法查看出物件的樣子嗎?或是圖片?
作者: stillfish00    時間: 2014-7-30 01:11

回復 14# Amin
Sub Test()
    Sheet1.WebBrowser1.Width = 400
    Sheet1.WebBrowser1.Height = 200
End Sub
簡單調整寬高就出現了
[attach]18789[/attach]
作者: Amin    時間: 2014-7-30 09:00

回復 15# stillfish00

stillfish00大大 果然很強

請問一定要用程式才能看到嗎?
能否透過設計模式查看?
我試了很久也顯示不出來
作者: IQ2008    時間: 2014-8-6 18:15

希望這一篇有幫助

http://excelvbaandmacros.blogspot.tw/2012/02/excel-browse-internet-in-excel.html
作者: 老夏    時間: 2014-8-23 09:13

本帖最後由 老夏 於 2014-8-23 09:15 編輯

WebBrowser1本身就是物件,可以直接使用,用不著VBA控制
//它就是無功能表之IE

布置WebBrowser1,縮小Excel視窗,拉入資料夾,即可使用檔案總管之所有功能

拉入.htm,即是網頁
//當然用htm語法寫,而非vba

這叫做OLE,不同東西拉一拉,叫做難
作者: 老夏    時間: 2014-8-23 09:49

http://club.excelhome.net/thread-491617-1-1.html

[attach]19007[/attach]
作者: 老夏    時間: 2014-8-23 14:05

程式碼一行搞定

Private Sub CommandButton1_Click()
WebBrowser1.Navigate "http://www.youtube.com/embed/bV7nFXhL8QY?feature=player_detailpage"
End Sub

Private Sub CommandButton2_Click()
WebBrowser1.Navigate "C:\"
End Sub


//VBA只是用個框架頁超連結而已,沒甚麼大學問
[attach]19011[/attach]




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)