Excel VBA находит изображение веб-страницы и импортирует его в Excel

В настоящее время я пытаюсь найти на открытой веб-странице несколько изображений png и импортировать их в разные ячейки на вкладке моей книги Excel.

Мой существующий макрос перемещается по веб-странице, которая определяет, какие изображения будут отображаться и сколько их.

Я пытаюсь написать макрос для поиска открытой веб-страницы и импорта изображения в Excel.

Количество изображений не может быть известно при каждом запуске программы. Однако каждое изображение находится в следующем HTML-коде:

img src="/files/exercises/31a_3 - trunk stability rotation kneex flexed.still002.194x146.png" title="Step 2"

При этом имена файлов изменятся. Я ищу все изображения с заголовком = "Шаг 2"

И импортируйте все эти изображения в Excel. В настоящий момент я могу успешно найти URL-адреса по следующему коду:

max = 100
For i = 0 To max
For Each Elem In ie.Document.getElementsByTagName("img")
If ie.Document.getElementsByTagName("img").Item(i).getAttribute("title") = "Step 2" Then
Worksheets("Sheet4").Range("A1") = "http://functionalmovement.com" & ie.Document.getElementsByTagName("img").Item(i).getAttribute("src")
Exit For
Exit For
End If
Next
Next
End Sub

Проблемы:

  1. Как я могу выполнить поиск по всей странице и поместить первое найденное в определенную ячейку, второе найденное - в другую ячейку и так далее, пока больше не будет найдено.

  2. Есть ли способ, чтобы само изображение появилось теперь, когда для каждого изображения известен полный URL-адрес.


person JT31    schedule 17.08.2015    source источник


Ответы (1)


Нашел то, что искал. Этот код ищет изображения с заголовком = "Шаг 1". Затем я загружаю эти изображения.

Sub findimageA()

Dim strURL As String
Dim ie As Object
Dim Elem
Dim X

Set ie = CreateObject("InternetExplorer.Application")
strURL = "http://blahblah"
ie.Navigate strURL
ie.Visible = True
Do While (ie.Busy Or ie.READYSTATE <> 4)
    DoEvents
Loop
For Each Elem In ie.Document.getElementsByTagName("img")
    If Elem.getAttribute("title") = "Step 1" Then
        Select Case X
            Case Is = 0
            pic1aURL = "http://functionalmovement.com" & Elem.getAttribute("src")
            pic1aName = Elem.getAttribute("src")
            pic1aName1 = Replace(pic1aName, "/files/exercises/", "")
            Case Is = 1
            pic2aURL = "http://functionalmovement.com" & Elem.getAttribute("src")
            pic2aName = Elem.getAttribute("src")
            pic2aName1 = Replace(pic2aName, "/files/exercises/", "")
            Case Is = 2
        End Select
        X = X + 1
    End If
Next
     If Not IsEmpty(picaName) Then
          DownloadFile
     End If
End Sub
person JT31    schedule 18.08.2015
comment
Мой новый процесс ищет все изображения с именем заголовка, а затем загружает изображение. Отсюда я создам подпрограмму для вставки изображения из файла. - person JT31; 18.08.2015