作者dofu1943 (那就念吧~~)
看板Visual_Basic
标题[VBA ] 控制IE问题
时间Sun Sep 5 17:01:31 2021
最近接触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则的程式码写不就矛盾了吗?
还是我误会了什麽
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.248.12.21 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1630832494.A.F92.html
1F:→ laechan: 下方那个应该是.. <> 跟 = 吧? 看你用Do While或Do Until 09/06 22:52
3F:→ laechan: Do While Not IsEmpty(Cells(i, 1)) 09/06 22:54
4F:→ laechan: Do Until IsEmpty(Cells(i, 1)) 09/06 22:54
6F:推 a24626296: 最近也在看第一个YT的教学,不过我连的是 chrome~ 09/07 09:46
7F:推 waiter337: 可查询 前期引用 跟 後期引用 09/07 15:05
8F:→ waiter337: 两种引用方式 除了 一开始引用的写法不同外 09/07 15:05
9F:→ waiter337: 内部的参数也可能会有不支援或者不相同的情况 09/07 15:06
10F:→ waiter337: 也有人讲 前期绑定 後期绑定 09/07 15:13
11F:→ coyoteY: IE也快走入历史了~VBA还活着 09/26 15:15