2016-09-19 68 views
0

我想從使用Excel宏,VBA的網頁獲取一些信息。IE自動化VBA Excel按標題查找元素

我有InternetExplorer.document對象,但沒有找到找到我需要的確切信息的方法。

的什麼,我找這個樣子的HTML部分:

<a title="BE xxx.xxx.xxx - straat 70 - 3630 - Maasmechelen" class="leftalign floatleft" href="Page_companydetail.asp?vat=xxxxxxxxx" target="_blank"> 

  Oprichter麪包車EEN onderneming natuurlijk persoon   BE xxx.xxx.xxx  

我想要的信息標題這裏。 我嘗試了很多東西,但無法設法將此元素單獨出來並獲得標題。

所以 1.是否有一種方式來獲得由標題元素(標題與BE開始),或類sinds此信息是頁面上唯一一個有類「leftalign floatleft」

回答

0

是......知道標題是<a>標籤的另一種屬性,可以通過關注的所有元素循環使用例如

HtmlDocument.GetElementsByTagName(String)方法

,並使用

HtmlElement.GetAttribute(String)方法

,看看標題屬性存在,什麼是

看到Reading Web Pages using Excel VBA一些更多的信息

+0

感謝它的價值,這適用於頁面上的其他元素,但不適合我需要的內容。我嘗試了類似的東西。我發現了一些新東西。如果使用DOM-explorer,我會看到所需的信息,但如果顯示頁面的源代碼,我無法找到它?是否有一些保護/這可能是我的問題? – Dextrious

+0

一個可能的限制因素可能是'GetAttribute''只公開那些對所有元素都通用的屬性,而不包括那些僅適用於某些類型元素的屬性。到https://msdn.microsoft.com/en-us/library/system.windows.forms.htmlelement.getattribute(v=vs.110).aspx ...我不知道這是否與VBA/Excel和我沒有經驗,因爲我主要搜索標準屬性 – MikeD

0

喜歡的東西這應該工作,我假設你已經有一個指向IE或文檔對象的指針。

Public Sub getTitleElement() 
    Dim myElement As Object 

    'Assuming you already have IE object/Document 
    Set myElement = IE.Document.getElementsByClassName("leftalign floatleft")(0) 

    Debug.Print myElement.Title 

End Sub