Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2010, 14:18   #1
hamlook
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 85
По умолчанию Изображение по веб-запросу

Доброго времени.
Я получаю данные таблицы с сети по команде
With ActiveSheet.QueryTables.Add(Connect ion:="URL;http://serverpir/?m=2&i=2&s=1&a=0&oc=4369&ot=99&oi=0 ", Destination:=[A1])
Но на источнике есть несколько картинок, которые мне тоже нужно обновлять.
Подскажите пожалуйста команду.
hamlook вне форума Ответить с цитированием
Старый 19.02.2010, 16:09   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте hamlook.
Вы строку URL запроса получили от администратора или владельца сервера? Он Вам не говорил, что таким способом можно получать только данные без изображений?
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 19.02.2010, 17:16   #3
hamlook
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 85
По умолчанию

Сервер - рабочий, внутренний,.. то есть на работе. Ссылка в открытом доступе и я ее сам взял и у администратора не спросил )))
Цитата:
Сообщение от Teslenko_EA Посмотреть сообщение
...таким способом можно получать только данные без изображений?
Евгений.
Так об этом и речь. Я данные получаю без проблемм. Но вот появилась необходимость получать изображения связанные с данными (раньше они были текстовыми, теперь для красоты решили сделать картиночки).
hamlook вне форума Ответить с цитированием
Старый 21.02.2010, 19:24   #4
hamlook
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 85
По умолчанию

Неужели никаких вариантов нет? Должно же быть какое то решение.
Мне даже само изображение и не нужно, пойдет и замещающий текст. Это будет даже намного лучше.
hamlook вне форума Ответить с цитированием
Старый 21.02.2010, 19:41   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Выход всегда есть
В каком виде(тип файла или данных) храниться картинка.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 21.02.2010, 21:57   #6
hamlook
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 85
По умолчанию

Вроде бы в gif-ах. Это по типу как на некоторых прогнозах погоды рисуют снег или дождь. Так и у меня, направление и скорость - картинка, остальное - таблица с данными (кстати, точно как в прогнозе погоды...)
hamlook вне форума Ответить с цитированием
Старый 23.02.2010, 12:53   #7
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Картинки взял из прогноза погоды.
Если можете получить данные,значит и имя картинки получите без проблем.Во вложении только демонстрация варианта
Необходимые картинки забиваете в ImageList
Вложения
Тип файла: rar GIF.rar (50.8 Кб, 16 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 23.02.2010, 15:41   #8
hamlook
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 85
По умолчанию

Спасибо. Но не то.
Я как раз имя картинки и не могу получить.
Делаю то что должен был сделать в самом начале - выкладываю файл (прошу прощения за выпаривание мозгов).
Удалил все лишние, заменил ссылку на погоду, запуск макроса - кнопочка "0".
Как видно, на временном листе нет данных об изображениях. Вот их мне и надо.
Вложения
Тип файла: rar прогноз.rar (15.4 Кб, 13 просмотров)
hamlook вне форума Ответить с цитированием
Старый 23.02.2010, 20:06   #9
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Веб запрос для вашего случая - негодное средство...
Прочитать HTML страничку на WEB сервере из VBA проще всего через XMLHTTP запрос:
Код:
Dim oXMLHTTP as Object
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
'подключение
oXMLHTTP.Open "GET", "http://serverpir/?m=2&i=2&s=1&a=0&oc=4369&ot=99&oi=0", 0
'получение файла
oXMLHTTP.Send
Debug.Print oXMLHTTP.responseBody 'прочитанный код страницы
Далее парсите полученный код, выбирая нужные вам имена файлов
Можно получив ссылку на gif считать его с сервера и сохранить локально, используя объект ADODB.Stream
Код:
Set oADOStream = CreateObject("ADODB.Stream")
oADOStream.Mode = 3 'разрешение на чтение и запись
oADOStream.Type = 1  'тип данных - Binary
oADOStream.Open
oADOStream.Write oXMLHTTP.responseBody  'от запроса к конкретному gif
'сохранение (с перезаписью файла при необходимости)
oADOStream.SaveToFile "C:\MyGif.gif", 2
Aent вне форума Ответить с цитированием
Старый 23.02.2010, 22:55   #10
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Нужен естественно файл оригинал, и читать html код.
А для эксперимента попробовал прогноз погоды сделать через Веб запрос
Вложения
Тип файла: rar TEST.rar (23.3 Кб, 18 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Еще вопрос по запросу БД Sweta Общие вопросы C/C++ 3 10.11.2009 20:41
Сохранение по запросу Jura_71 БД в Delphi 2 07.01.2009 04:04
вопрос по SQL запросу Anton_S БД в Delphi 5 09.06.2008 01:47