[VBA ] 控制IE问题

楼主: dofu1943 (那就念吧~~)   2021-09-05 17:01:31
最近接触VBA
到了这个版才知道原来VB系列快走入历史了.....
真是哀伤
我想问一下
我从YT上看到教学https://www.youtube.com/watch?v=dShR33CdlY8
他连到IE的方法是
Dim IE As New SHDocVw.InternetExplorer
Dim HTMLDoc As MSHTML.HTMLDocument
Dim HTMLInput As MSHTML.IHTMLElement
Dim HTMLButtons As MSHTML.IHTMLElementCollection
Dim HTMLButton As MSHTML.IHTMLElement
IE.Visible = True
IE.navigate "wiseowl.co.uk"
Do While IE.ReadyState <> READYSTATE_COMPLETE
Loop
然后我又从另一人的网页上
https://www.automateexcel.com/vba/automate-internet-explorer-ie-using/
看到另一种开IE的方法
'This will load a webpage in IE
Dim i As Long
Dim URL As String
Dim IE As Object
Dim objElement As Object
Dim objCollection As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
URL = "https://www.automateexcel.com/excel/"
IE.Navigate URL
Application.StatusBar = URL & " is loading. Please wait..."
Do While IE.ReadyState = 4: DoEvents: Loop 'Do While
Do Until IE.ReadyState = 4: DoEvents: Loop 'Do Until
Application.StatusBar = URL & " Loaded"
我想问一下,这两种方法会有什么差别吗
然后我也觉得有一点很奇怪
在等候IE加载时的程式码
第1则是写
Do While IE.ReadyState <> READYSTATE_COMPLETE
第2则却是
Do While IE.ReadyState = 4
但是在VBA里浏览物件的功能中查询
READYSTATE_COMPLETE = 4
那上面2则的程式码写不就矛盾了吗?
还是我误会了什么
作者: laechan (挥泪斩马云)   2021-09-06 22:52:00
下方那个应该是.. <> 跟 = 吧? 看你用Do While或Do Untilhttps://spreadsheeto.com/do-loops/Do While Not IsEmpty(Cells(i, 1))Do Until IsEmpty(Cells(i, 1))http://forum.twbts.com/viewthread.php?tid=20650
作者: a24626296 (DD)   2021-09-07 09:46:00
最近也在看第一个YT的教学,不过我连的是 chrome~
作者: waiter337 (给开司一罐苏格登)   2021-09-07 15:05:00
可查询 前期引用 跟 后期引用两种引用方式 除了 一开始引用的写法不同外内部的参数也可能会有不支援或者不相同的情况也有人讲 前期绑定 后期绑定
作者: coyoteY (マジジョテッペン)   2021-09-26 15:15:00
IE也快走入历史了~VBA还活着

Links booklink

Contact Us: admin [ a t ] ucptt.com