Страницы: 1 2 След.
RSS
Фотографии в форме из интернета
 
Добрый день. Подскажите пожалуйста, не могу найти, можно ли имея прописанные гиперссылки напротив каждого товара В ФОРМЕ отображать фотографии которые хранятся не на компе, а в интернете??? Спасибо
 
приложите файл-пример и мы подумаем над вашим вопросом
 
{quote}{login=}{date=27.01.2012 12:28}{thema=}{post}приложите файл-пример и мы подумаем над вашим вопросом{/post}{/quote}  
 
Если нужно, я то приложу, просто придется файл большой править. и станет еще не понятнее как мне кажется. Я подумал, что может вы скажете возможно ли такое в принципе. И если возможно, то я конечно сделаю и приложу. Пожалуйста
 
Понимаете... я никогда не делал именно то, что вы просите.  
Но у меня было желание помочь вам и я попросил ваш файл-пример, чтобы попробовать написать макрос, который будет это делать. Т.к.  
 
1) делать свой файл-пример для каждого человека, который приходит на форум, задаёт вопрос, но не выкладывает свой файл-пример, мне лень делать. Вам в день приходит человек 50. Что мне каждому свой файл-пример делать в Excel?  
 
2) когда я пишу макрос под ваш файл-пример - есть большая вероятность что данный макрос будет работать более стабильно в вашем файле, т.к. я вижу структуру файла и пишу макрос конкретно под неё.  
 
Вы не захотели выкладывать файл. Для вас тяжело удалять лишнюю информацию в вашем файле (хотя с моей точки зрения - вам нужно было создать пустой файл, скопировать 2-3 ссылки на картинку в тот столбец, где у вас они находятся в рабочем файле и выложить этот пустой файл с 3 ссылками на форум, а не удалять 100 листов, 50 форм, 30 графиков из рабочего файла и выкладывать рабочий файл нам)  
 
Мне пришлось самому создавать для вас файл-пример, искать в интернете ссылки на фотографии, для простаты я их скопировал в столбец А. У вас они могут находится в других столбцах и включать шапку таблицы.  
 
В моём примере всё работает. А именно фотографии из интернета отображаются на форме. Переделывайте его под свой рабочий файл сами.
 
И вот даже пока еще не открыв файл, я выражаю вам огромную благодарность за то, что я даже еще не попросил ничего сделать, только сказать возможно ли это, а вы имея большое желание мне помочь даже создали пример. За что я вам безмерно благодарен и все ваши замечания обязательно учту. Побольше бы таких людей, которые не только готовы помочь, но и еще и не лень им это делать и и мир станет добрее.  
 
А почему не выложил сразу файл, объясню. Сколько раз просил помощи и выкладывал, всегда возникает уйма лишних вопросов которые не касаются вопроса из-за лишней информации в примере. Делать с нуля мне нисколько не проще и не легче чем вам. В этих делах я баран и методом подстановки на протяжении нескольких лет делал свой файл. И создать даже короткий пример с нуля-это для меня катастрофа.  
 
Еще раз огромное спасибо за уделенное время и помощь.
 
ну, пока рано говорить спасибо. Вы запустите пример, пощёлкайте кнопку Next. Если картинки меняются, значит пример у вас работает нормально.  
А работает он таким образом  
Через специальную функцию он скачивает и сохраняет картинку из интернета во временную папку "Temp" под временным названием "TestPicture"  
А потом уже отображает эту картинку на форме (т.е. беря её из папки "Temp" вашего компьютера).  
 
Ну, и останется дело за малым, заставить корректно работать этот код в вашем рабочем файле )))
 
{quote}{login=Ластик}{date=27.01.2012 02:58}{thema=}{post}ну, пока рано говорить спасибо. Вы запустите пример, пощёлкайте кнопку Next. Если картинки меняются, значит пример у вас работает нормально.  
А работает он таким образом  
Через специальную функцию он скачивает и сохраняет картинку из интернета во временную папку "Temp" под временным названием "TestPicture"  
А потом уже отображает эту картинку на форме (т.е. беря её из папки "Temp" вашего компьютера).  
 
Ну, и останется дело за малым, заставить корректно работать этот код в вашем рабочем файле ))){/post}{/quote}  
 
Блин блин блин... круто... вот это да. все работает. причем если я правильно понимаю, то единожды загрузив он достает файлы сразу из папки да???? потому что второй круг быстрее идет. Все работает отлично. А сделано все четко как мне и надо. только диапазон сменить и все... ЕЩЕ РАЗ ОГРОМНОЕ СПАСИБО
 
эм.. нет, он скачивает каждый раз.  
 
но по-идее, можно переписать немного макрос, чтобы он работал так:  
 
сперва проверяем есть ли файл с названием картинки в папке "Temp":  
- если его нет, значит мы его ещё не скачали и начинаем скачивание и показ  
- если файл есть, то скачивать не нужно и просто показываем картинку на форме.
 
вот подкорректировал макрос, теперь он работает так  
 
- если мы уже когда-либо скачали этот файл, то берём его сразу из временной папки "Temp", если же его там нет, то скачиваем его из интернета, сохраняем во временную папку под родным названием картинки и показываем на форме.  
 
Грубо говоря, если мы хоть раз отобразили картинку на форме, то теперь всегда этот файл будет сразу загружаться с компьютера. (пока не очистят временную папку))))
 
Как-то делал что-то подобное:  
http://excelvba.ru/programmes/ShowPictures
 
Привет, Павел.  
Нужно чуть доработать - у меня на работе сайты "*wallpaper*" отрублены, и на этих картинках код вылетает на строке  
       .Picture = LoadPicture(iTempFolder & iTempFileName)  'загружаем файл из временной папке на форму  
Добавил в начале On Error Resume Next - теперь не вылетает, но показывает предыдущую картинку, что неправильно. Думаю нужно в этом случае что-то нейтральное вывешивать с надписью "Reconstruction" :).
 
{quote}{login=Антон-Антон}{date=27.01.2012 02:53}{thema=Re: }{post}А почему не выложил сразу файл, объясню. Сколько раз просил помощи и выкладывал, всегда возникает уйма лишних вопросов...{/post}{/quote}Отсюда следует, что файл пример самому делать не нужно - его должны делать за Вас те, кто хочет помочь. Странная логика.
 
Игорь (Hugo), чуть дописал код, потестируй
 
Не, так не годится :(  
Так дальше не идёт.  
Я предыдущую версию так подправил - поставил on error resume next, и в случае err>0 грузил предопределённую картинку из темп.
 
Так где же её взять эту "предопределённую картинку" ? С собой таскать (в файле) ?  
 
Могу предложить, вариант - если не можем загрузить эту картинку, то переходим к следующей, сообщение об ошибке можно закомментировать, если мешает )
 
Если писать код себе - то можно картинку подыскать у себя.  
Можно подыскать в сети гарантированно качающееся и сперва загрузить её для таких случаев (хотя если вдруг она с первого раза не скачается - то будет беда...)  
Можно таскать в файле в коде макроса - были примеры на форумах, могу поискать.  
А вообще такой вариант вполне годится - только почему-то некачающиеся фотки перескакивает, без нажатия NEXT.
 
ну, когда пишу под себя - я вообще без обработчиков ошибок обхожусь ))) т.к. я знаю, что можно делать, а что нет ))  
А вот если нет доступа в интернет - как скачать "гарантированно качающуюся картинку", уже никак  
Носить с собой картинку - ну, можно конечно, но я не сторонник таких методов. Это если уж заказчик просит.  
По поводу того, что перескакивает без Next - это был сделано для ускорения процесса, т.е. есть 5 картинок, 3-ю фотку скачать не можем, макрос сообщает об ошибке и сразу загружает следующую (4-ю) картинку.  
 
Вот переделал код, теперь если загрузить не можем, выходит сообщение и ждёт, когда человек сам нажмёт кнопку Next для перехода к другой картинке.  
Но мне кажется, что переход к следующей картинке автоматически, когда не смогли загрузить текущую, более предпочтительным вариантом.
 
ПОЖАЛУЙСТА, не удаляйте пример хотя бы пока не посмотрят. Я сжал его в кучу раз и все равно он превышает допустимый объем. Удалить еще форму осталось и примера не останется. Спасибо  
 
 
Юрий М: Логика моя в том, что пример своими разными другими условиями сбивает с основной мысли. Хотя в общем и целом вы абсолютно правы. Исправлюсь.  
 
Ластик: Вставить в свой файл у меня так и не вышло. Ошибку выдает. На вашем все работает, и даже вставив в свой пример ваши данные с формой без изменений. В чем дело не понимаю. По факту все также как было, но только нужно чтобы картинка загружалась после ввода кода(в верхнем левом углу формы) вместе с данными соответственно строке товара чей код. ССылки на сайт хранятся в столбце 62.  
Подскажите, пожалуйста, что не так с моим примером.
 
Файл удалю сразу, как Павел посмотрит.  
Антон, сейчас задействовано 63 столбца, а вот удали Вы все "ненужные" 60 столбцов, оставив только А, В и столбец, где ссылка - и файл был бы поменьше. Ведь проблема у Вас именно в связке ссылка-картинка? Зачем в данном случае всё остальное? Потом просто поменяли бы номер столбца - и все дела.
 
Антон, маленький вопрос.... а зачем мне (нам) смотреть ваши 3943 строчек кода в  145 процедурах ?  
 
Ваш пример должен выглядеть так - удаляете полностью весь код из формы (т.е. все 3943 строк кода, все 145 процедур) и выкладываете пример на форум, всё.    
Что тут сложного?
 
{quote}{login=Ластик}{date=27.01.2012 08:51}{thema=}{post}Антон, маленький вопрос.... а зачем мне (нам) смотреть ваши 3943 строчек кода в  145 процедурах ?  
 
Ваш пример должен выглядеть так - удаляете полностью весь код из формы (т.е. все 3943 строк кода, все 145 процедур) и выкладываете пример на форум, всё.    
Что тут сложного?{/post}{/quote}  
 
Ох блин... Ну посудите сами. Вы в этом деле знаете все и понимаете все. Я и когда просто просил, думал что смогу все подставить сам. Специально оставил как есть, чтобы пример был четкий. Потому что опять же из практики получается, что вроде ничего сложного, а потом разобраться не получается. Когда в этом ничего не шаришь, то и не догоняешь что нужно, а что нет. Ну простите гада.
 
Все удалил нахрен. Вот примерно тогда вот так получается.
 
а какой у вас пароль к проект? А то я пытаюсь зайти в Tools - References... он у меня пароль запрашивает  
 
Он почему-то ругается на все LoadPicture в строках типа  
 
.Picture = LoadPicture("")  
 
типа Sub or Function not defined. Т.е. процедура или функция не определена. Хотя LoadPicture это родное свойство у Picture... странно
 
{quote}{login=Ластик}{date=27.01.2012 09:17}{thema=}{post}а какой у вас пароль к проект? А то я пытаюсь зайти в Tools - References... он у меня пароль запрашивает  
 
Он почему-то ругается на все LoadPicture в строках типа  
 
.Picture = LoadPicture("")  
 
типа Sub or Function not defined. Т.е. процедура или функция не определена. Хотя LoadPicture это родное свойство у Picture... странно{/post}{/quote}  
 
пароль: админка  
 
но я его убирал. это была одна из ошибок у меня. Но если вы не видите причину, то куда же мне...(((( Спасибо за отклик и понимание
 
всё заработало. Как я и думал, не хватало ссылки на библиотеку  
Зашёл в Tools - References..., ввёл ваш пароль, поставил галочку на OLE Automation (и на всякий случай на Microsoft Office 14.0 Object Library) и код заработал. Сейчас причешу код и выложу ваш пример сюда
 
вот ваш файл с кодом
 
{quote}{login=Ластик}{date=27.01.2012 09:44}{thema=}{post}вот ваш файл с кодом{/post}{/quote}  
 
Спасибо спасибо. Только одно мне непонятно из кода. Где задается столбец из которого брать ссылки? или задана строка соответственно коду rng row??? А то у меня же 62 столбец.... ))))
 
в этой строке    
 
iHLink = Cells(iRow, "F")  
 
поменяйте на    
 
iHLink = Cells(iRow, "BJ")  
 
или    
 
iHLink = Cells(iRow, 62)
 
{quote}{login=Ластик}{date=27.01.2012 10:45}{thema=}{post}в этой строке    
 
iHLink = Cells(iRow, "F")  
 
поменяйте на    
 
iHLink = Cells(iRow, "BJ")  
 
или    
 
iHLink = Cells(iRow, 62){/post}{/quote}  
 
Ну охренеть... Мне прям повылазило... Полчаса втыкал в код и так и не увидел...  
А вот такой по ходу дела вопрос возник. я так понимаю что если содержаться русские буквы выдает сообщение ваше про отсутствие файла на сервере если папка ТЕМП пустая. Хотя вручную по ссылке открывается. Значит он не хочет его загружать в папку.  
Пример ссылки вот.  
 
http://kaleidoskop.com.ua/components/com_virtuemart/shop_image/product/107оро.JPG
 
фиг знает, я прошёл по вашей ссылке, открылась картинка, я скопировал ссылку из браузера (Firefox) и вставил её в Excel, у меня получилось  
 
http://kaleidoskop.com.ua/components/com_virtuemart/shop_image/product/107%D0%BE%D1­%80%D0%BE.JPG  
 
тогда макрос её нормально открывает.  
 
P.S. Как преобразовать "оро" в "%D0%BE%D1%80%D0%BE" я не знаю.  
 
может кто подскажет
Страницы: 1 2 След.
Читают тему
Наверх