Получение значений атрибутов в VBA - PullRequest
3 голосов
/ 21 ноября 2011

Мне нужно создать файл VBA, который будет читать веб-страницу и возвращать значение атрибута SRC тега IMG. Я не смог заставить последний шаг работать. Ребята, вы можете мне помочь?

<html>
<body>
<img src="image.jpg">
</body>
</html>

=== Редактирование === Мне удалось вернуть атрибут объекта. Теперь мне нужно вернуть его значение

Option Compare Database

Sub AcessaPagina()
    Dim ie As InternetExplorer
    Dim test As String
    Dim obj As Object

    Set ie = New InternetExplorer
    ie.Navigate "http://www.google.com.br"
    MsgBox ie.Document.getElementsByTagName("img").Item(0).Attributes("src")
    ie.Visible = True 
End Sub

Вот что у меня сейчас.

1 Ответ

6 голосов
/ 21 ноября 2011

Нет метода с именем "getElementByTagName" - он называется getElementsByTagName (обратите внимание на s , потому что это коллекция)

Объект документа возвращает коллекциювсех тегов img в источнике.Таким образом, вы можете повторить это так:

Sub AcessaPagina()
    Dim ie As Object ' InternetExplorer
    Dim images As Object ' MSHTML.IHTMLElementCollection
    Dim image As Object ' MSHTML.IHTMLElement

    Set ie = CreateObject("InternetExplorer.Application")
    ie.navigate "http://www.google.com.br"
    Set images = GetAllImages(ie)

    For Each image In images
      Debug.Print image.getAttribute("src")
    Next image

End Sub

Function GetAllImages(ie As Object) As Object
  Set GetAllImages = ie.document.images
End Function
...