我得到一個運行時錯誤「438」試圖通過VBA點擊一個PHP的網站按鈕時(對象不支持此屬性或方法「),我一直在google搜索過去的幾個小時,無法找到解決辦法。VBA提交按鈕點擊
這下面的代碼全部都在我需要它,但無法找到如何按一下按鈕沒有它失敗了,試過如下:
IE.Document.getElementsByName("Calculate").Click
IE.Document.getElementsByID
IE.Document.getElementsByClassName
等全部失敗。
如我看到按鈕的代碼如下:
<button onclick="calculate();" class="btn btn-primary">Calculate</button>
因此,使用ByClassName當我用BTN BTN-初級和由名稱I用於計算。我現在失去了我的想法大聲笑,任何想法?代碼如下:
p.s使用IE11如果重要。
Sub testWeb()
Dim sht As Worksheet
Dim IE As Object
Dim Item As Variant
Dim objElement As Object
Set sht = ActiveSheet
Set IE = CreateObject("InternetExplorer.Application")
'Open IE
IE.Visible = True
IE.Navigate "http://www.doogal.co.uk/DrivingDistances.php"
'Wait until site is loaded
Do While IE.ReadyState <> 4 'READYSTATE_COMPLETE
DoEvents
Loop
IE.Document.getElementById("startLocs").Value = "TEST"
IE.Document.getElementById("endLocs").Value = "TEST1"
IE.Document.getElementsByName("Calculate").Click
IE.Document.forms(1).submit
End Sub
是否有一個特定的原因,你在網站上使用VBS?因爲如果沒有,請不要..轉到JavaScript。 VBS就像JS那個沒有人喜歡的邪惡小矮人兄弟。 –
它是一個知識差距tbh朋友:),我需要在Excel中的信息,所以我正在使用我知道把這些數據。 – JamieB
不知道Rob如何計算這是VBS ......你會認爲對VBA的幾個引用會區分這一點。也許VBA和VBS是JS傢伙的可互換條款。 :)無論如何,我只是爲了抵制-1,以防萬一來自沒有閱讀的人。 – Tim