Страницы: 1
RSS
Вставка в Image первую найденную картинку из интернета
 
Добрый день.
Ребята, может кто сталкивался с такой задачей уже. Можно ли как-то вставить найденную картинку из интернета в Image на форме?
Т.е. у нас имеется код поиска картинки в яндекс-картинках:
Код
ThisWorkbook.FollowHyperlink ("https://yandex.ru/images/search?text=" & TextBox1.Text)
Как можно сделать, чтобы он первую найденную картинку подгружал в Image?
При этом открывать браузер не обязательно. Есть вообще такая возможность? Кто сталкивался?
В текстбокс пишем артикул и в Image первая найденная картинка.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Можно конечно воспользоваться вариантом с браузером, но это опять чуть не то.
Охота чистую картинку
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Доброе время суток.
Текст страницы анализировать, хотя нужно полностью структуру отдачи просматривать. По запросу "Яблочный пирог" первая картинка определяется как часть JSON (по первому "img_href")
"img_href":"https://static.superiorwallpapers.com/images/lthumbs/2015-05/7902_Apple-and-cinnamon-tart.jpg"
Так что достаточно достать ссылку и её указать в качестве источника для Image.
Успехов.
 
Андрей VG, спасибо за наводку, теперь осталось расшифровать то, что вы написали и сделать )))
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Через MSXML2.XMLHTTP получаете html код и вытаскиваете через xpath ссылку на картинку.
 
Цитата
Alemox написал:
теперь осталось расшифровать
Ну, вы и лентяище  :)  Столько лет на форуме и не следите за публикациями Сергея Doober.
Код
Public Sub PrintImgUrl()
    Dim p As Object, pReg As Object
    Set p = CreateObject("MSXML2.XMLHTTP")
    p.Open "POST", "https://yandex.ru/images/search?text=windows%2010%20logo"
    p.send
    Do Until p.readyState = 4
        DoEvents
    Loop
    Set pReg = CreateObject("VBScript.RegExp")
    pReg.Pattern = """img_href"" ?: ?""([^""]+)"""
    Debug.Print pReg.Execute(p.responseText)(0).SubMatches(0)
End Sub

Успехов.
 
Андрей VG, спасибо большое. Я не лентяй, не ругайтесь. Я никогда с интернетом Excel не связывал. Никакие обработки сайтов не делал и они мне не пригождались до сегодняшнего дня. Вот поэтому это тёмный лес для меня.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
Страницы: 1
Наверх