2017-01-14 58 views
0

我遇到了一個問題,我的宏可以在Excel 2013上工作,但不能在Excel 2010上工作。我試圖點擊一個在網頁上的GIF,但由於某種原因它不「看」它。VBA不會點擊gif嵌套在標籤

我使用的HTML如下:

<a href="#" style="color:#009900;"> 
<img src='images/CheckMarkGreen.gif' border=0 alt='Select This Item'> 
</a> 

,我使用的VBA是:

Dim imgElm 

For Each imgElm In objIE.Document.getElementsByTagName("img") 
    If imgElm.innertext = "images/CheckMarkGreen.gif" Then 
    imgElm.Click 
    Exit For 
    End If 
Next 

任何幫助,將不勝感激!

回答

0

圖像元素不具有的innerText(也許你的意思的innerHTML?)

也許更容易檢查alt屬性:

If imgElm.getAttribute("alt") = "Select This Item" Then 
    imgElm.Click 
    Exit For 
End If 
+0

我試着使用alt屬性代替,但仍然不允許它工作。 –

0
Dim imgElm as IHTMLElement 

For Each imgElm In objIE.Document.getElementsByTagName("img") 
    If imgElm.getAttribute("src") = "images/CheckMarkGreen.gif" Then 
     imgElm.Click 
     Exit For 
    End If 
Next 

OR

Dim imgElm as HTMLImg 

For Each imgElm In objIE.Document.getElementsByTagName("img") 
    If imgElm.src = "images/CheckMarkGreen.gif" Then 
     imgElm.Click 
     Exit For 
    End If 
Next 
+0

我試着用你提供的兩個選項,但是我得到一個編譯錯誤用戶定義的類型沒有定義。 –

+0

你必須在VBE的工具 - >參考下設置對HTML對象庫的引用 – MacroMarc

+0

你怎麼知道圖像被點擊?我沒有看到代碼的其餘部分,也沒有看到點擊時會觸發的任何事件。什麼是錯誤或失敗結果? – MacroMarc