Hi I\'m trying to dynamically create a web browser inside a spreadsheet and then use it but the WebBrowser functions don’t seem to work
Here is how I create the WebB
myWebBrowser.Object.Navigate "http://www.google.com"
more complete example:
Sub AddWebBroswerToWorksheet()
Dim myWebBrowser
Dim wb, doc, x As Long
Sheet2.Activate
Sheet1.OLEObjects(1).Delete
Set myWebBrowser = Sheet1.OLEObjects.Add(ClassType:="Shell.Explorer.2", _
Left:=147, Top:=60.75, Width:=400, Height:=400)
Set wb = myWebBrowser.Object
With wb
.Navigate "about:blank"
.Document.Open "text/html"
For x = 1 To 100
.Document.write "hello world<br>"
Next x
.Document.Close
.Document.body.Scroll = "no"
Debug.Print .Document.body.innerHTML
End With
Sheet1.Activate 'switching back to the sheet seems to
' ' trigger the display of the object
End Sub
You need to pump Windows messages inside your WebBrowser.ReadyState <> READYSTATE_COMPLETE
loop for this to work. Calling DoEvents
/Sleep
inside the loops does that, but has its own implications. Check these answers for further details and sample code:
https://stackoverflow.com/a/19019200/1768303
https://stackoverflow.com/a/19308865/1768303