2016-09-19 70 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