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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2011, 16:07   #1
rocsted
 
Регистрация: 06.03.2011
Сообщений: 9
По умолчанию автоматизировать закачку изображений

Есть таблица в эксель в ней ссылки на изображения, возможно ли автоматизировать закачку этих изображений с одновременным заданием им имени из соседней ячейки.
rocsted вне форума Ответить с цитированием
Старый 08.04.2011, 16:09   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Зря Вы так - а если я в отпуске?
Пример бы файла увидеть.

Вообще-то я такого не делал...
Пока нашёл, где почитать:

http://www.cpearson.com/excel/DownloadFile.aspx

Downloading A File From The Web

This page describes how to use VBA to download a file from the web.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 08.04.2011 в 16:35.
Hugo121 вне форума Ответить с цитированием
Старый 08.04.2011, 16:14   #3
rocsted
 
Регистрация: 06.03.2011
Сообщений: 9
По умолчанию

Я посмотрел что вы на форуме
rocsted вне форума Ответить с цитированием
Старый 08.04.2011, 16:17   #4
rocsted
 
Регистрация: 06.03.2011
Сообщений: 9
По умолчанию

Я посмотрел что вы на форуме
http://narod.ru/disk/9634560001/%D0%...%B8..xlsx.html
rocsted вне форума Ответить с цитированием
Старый 08.04.2011, 16:37   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

А на форуме я могу быть потому, что вчера не вышел

Если серъёзно - я не в теме. Может вечером файл скачаю и попробую, но у Chip Pearson код не маленький...
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 08.04.2011 в 16:40.
Hugo121 вне форума Ответить с цитированием
Старый 08.04.2011, 16:59   #6
rocsted
 
Регистрация: 06.03.2011
Сообщений: 9
По умолчанию

я отблагодарю
rocsted вне форума Ответить с цитированием
Старый 08.04.2011, 21:20   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Пример кода есть здесь: http://excelvba.ru/code/DownloadPictures
Чуть позже переделаю пример под ваш файл
EducatedFool вне форума Ответить с цитированием
Старый 08.04.2011, 21:32   #8
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Сделал - проверяйте:



В той же папке, где находится эта книга, создаётся подпапка Фотографии, в которую помещаются скачанные изображения

Вот код макроса:

Код:
Sub ОсновнойМакрос()
    Dim sh As Worksheet, cell As Range, ra As Range: Application.ScreenUpdating = False
    ПапкаДляФото$ = ThisWorkbook.Path & "\" & "Фотографии\"
    On Error Resume Next: MkDir ПапкаДляФото$

    Dim pi As New ProgressIndicator
    pi.Show "Загрузка фотографий"
    Set sh = ActiveSheet    ' обрабатываем только активный лист

    ' диапазон заполненных ячеек в столбце d, начиная с d2
    Set ra = sh.Range(sh.[d2], sh.Range("d" & sh.Rows.Count).End(xlUp))
    pi.StartNewAction , , "Загрузка фотографий", , , ra.Cells.Count

    For Each cell In ra.Cells    ' перебираем все ячейки диапазона
        ' формируем путь к новому файлу
        ИмяФайла = ПапкаДляФото$ & cell & ".jpg"
        Ссылка = RussianStringToURLEncode(cell.EntireRow.Cells(6).Text)
        pi.SubAction , "Артикул: " & cell, "Файл: " & ИмяФайла
        Debug.Print ИмяФайла, Ссылка
        ' сохраняем очередную ссылку в виде файла в  папку
        If DownLoadFile(Ссылка, ИмяФайла) Then
            Debug.Print "Скачан файл: " & Ссылка
        Else
            MsgBox "Не удалось загрузить файл " & Ссылка, vbCritical
        End If
    Next cell
    pi.Hide    ' закрываем прогресс-бар
End Sub
Вот что скачалось:


Последний раз редактировалось EducatedFool; 08.04.2011 в 21:35.
EducatedFool вне форума Ответить с цитированием
Старый 08.04.2011, 22:11   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Вот что значит Мастер!
А я погонял код Чипа Персона - то качает, то нет. Если фотку в браузере открыл - то потом кодом она скачалась, иначе просто пишет ошибку в лог и всё...
А код EducatedFool сработал сразу и без ошибок.

Только я в своих попытках имя файла формировал типа этого:
Код:
ИмяФайла = ПапкаДляФото$ & cell & "-" & cell.Offset(, -1) & ".jpg"
т.к. артикулы бывают повторяются, а в связке с ценой повторов нет.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 08.04.2011 в 22:37.
Hugo121 вне форума Ответить с цитированием
Старый 08.04.2011, 22:38   #10
rocsted
 
Регистрация: 06.03.2011
Сообщений: 9
По умолчанию

Dim pi As New ProgressIndicator
Чего то оно у меня тут останавливается
rocsted вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Проблема] - Прервать закачку, закрыть поток(tthread) Функция(WinInet) Человек_Борща Работа с сетью в Delphi 0 14.12.2010 20:21
автоматизировать копирование scals Microsoft Office Excel 4 17.05.2010 16:01
Помогите автоматизировать PVAOD Microsoft Office Excel 14 07.12.2009 01:24
автоматизировать операцию Lakdi Microsoft Office Excel 1 29.09.2009 04:53
Автоматизировать ввод Radmir Microsoft Office Excel 1 23.02.2008 13:13