Страницы: 1
RSS
Программное открытие и сохранение картинки по URL
 
Уважаемые коллеги!
Просьба помочь разобраться в одной проблеме.
Имеется: Файл Excel (товарный каталог), в котором для каждой товарной позиции с номером типа NNNNN имеется, в отдельном столбце, название товара с гиперссылкой вида: http://sitename/image.php?f=NNNNN.
При нажатии в открытом файле на гиперссылку, в браузере открывается соответствующая картинка (NNNNN.jpg).
Задача: Программно реализовать получение по этой гиперссылке файла (картинки) и его сохранение в виде NNNNN.jpg.
Спасибо!
 
и что поиск ничего не дает?  
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=search&tags=&q=%D1%84%D0%B0%D0%B9%D0%BB+%D0%BF%D0%BE+url&FORUM_ID%5B%5D=0&DATE_CHANGE=0&order=relevance&s=%D0%9D%D0%B0%D0%B9%D1%82%D0%B8
Живи и дай жить..
 
Приложил один из вариантов
 
Спасибо! Попробовал, оригинал работает, в моём файле - не работает. Макрос запускается, но сохраняет только HTML.
Есть мнение, что это происходит потому, что на картинки нет прямых ссылок, они вызываются через php-скрипт.
 
Если надо сохранить много картинок по ссылкам (можно сразу вставить их на лист Excel)? - у меня есть готовое решение:
http://excelvba.ru/programmes/PastePictures
Одно нажатие кнопки, - и все готово.
Но, это должны быть прямые ссылки на картинки
(можно воспользоваться функцией поиска изображения по артикулу на конкретном сайте,  если со ссылками проблема)

Был бы хоть один пример реальной ссылки, - мы бы подсказали, как решить проблему
 
Прямые ссылки тут, скорее всего, не помогут. Они в закрытой области сайта. При наличии прямых ссылок я бы вообще не заморачивался с макросами, а просто выдрал бы картинки оффлайновым браузером.

Кусок прайса со ссылками в приложении. Там мой первый вариант решения (неработающий).
 
Вам надо заменить гиперссылки вида
http://supertoys.ru/image.php?f=32198
на такие:
http://supertoys.ru/img/32198.jpg

Это можно сделать пользовательской функцией:
Код
Function Get_Hyperlink(ByVal cell As Range) As String
    Get_Hyperlink = "http://supertoys.ru/img/" & Split(cell.Hyperlinks(1).Address, "=")(1) & ".jpg"
End Function


И внезапно всё начнёт работать)

 
Вай, спасибо! А я как увидел, что к img прямого доступа нет, так и бросил копать в этом направлении. Хотя всё на виду было и очень просто.
Страницы: 1
Читают тему
Наверх