Скачать картинку по ссылке excel

Загрузка файлов (изображений) из интернета

Макрос предназначен для загрузки изображений (или любых других файлов) из интернета, и сохранения скачанных файлов в одну папку.

Исходные данные для работы макроса:

таблица, в которой содержатся по меньшей мере 2 столбца — один с гиперссылками, второй — с именами файлов.

Особенности макроса:

  • создаваемым файлам присваиваются имена из выбранного столбца листа Excel
  • макрос корректно работает со ссылками, содержащими символы кириллицы
  • автоматическое добавление расширения для скачиваемых файлов (если имя файла из ячейки его не содержит)

Настройки макроса легко выполнить, изменив в коде значения констант:

    Const НазваниеПапкиДляФайлов$ = "Фотографии"    ' так будет называться создаваемая папка
    Const НомерСтолбцаСГиперссылками = 6    ' из этого столбца макрос берет гиперссылки для загрузки файлов
    Const НомерСтолбцаСИменамиФайлов = 4    ' из этого столбца макрос берет имена для создаваемых файлов
    Const НомерПервойСтрокиСДанными = 2    ' с какой строки листа начинаем обрабатывать данные
    Const РасширениеФайлов$ = ".jpg"    ' этот текст добавляется справа к именам создаваемых файлов

Смотрите также аналогичный (более сложный) макрос загрузки изображений

Код основного макроса:

Sub СкачатьИзображения()
    Const НазваниеПапкиДляФайлов$ = "Фотографии"    ' так будет называться создаваемая папка
    Const НомерСтолбцаСГиперссылками = 6    ' из этого столбца макрос берет гиперссылки для загрузки файлов
    Const НомерСтолбцаСИменамиФайлов = 4    ' из этого столбца макрос берет имена для создаваемых файлов
    Const НомерПервойСтрокиСДанными = 2    ' с какой строки листа начинаем обрабатывать данные
    Const РасширениеФайлов$ = ".jpg"    ' этот текст добавляется справа к именам создаваемых файлов

    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    ' обрабатываем только активный лист

    ' диапазон заполненных ячеек в столбце НомерСтолбцаСГиперссылками (без строк заголовка таблицы)
    Set ra = sh.Range(sh.Cells(НомерПервойСтрокиСДанными, НомерСтолбцаСГиперссылками), _
                      sh.Cells(sh.Rows.Count, НомерСтолбцаСГиперссылками).End(xlUp))
    pi.StartNewAction , , "Загрузка файлов", , , ra.Cells.Count
 
    For Each cell In ra.Cells    ' перебираем все ячейки диапазона
        ' формируем путь к новому файлу, заменяя запрещённые символы в имени файла на _подчеркивание_
        ИмяФайла$ = ПапкаДляФайлов$ & Replace_symbols(cell.EntireRow.Cells(НомерСтолбцаСИменамиФайлов))
        If Not ИмяФайла$ Like "*" & РасширениеФайлов$ Then ИмяФайла$ = ИмяФайла$ & РасширениеФайлов$
 
        ' обрабатываем ссылку, преобразуя её в URLEncode
        Ссылка$ = RussianStringToURLEncode(cell.Text)
 
        pi.SubAction , "Строка: " & cell.Row, "Файл: " & ИмяФайла$
        ' сохраняем очередную ссылку в виде файла в  папку
        If DownLoadFile(Ссылка, ИмяФайла) Then
            FilesCount% = FilesCount% + 1    ' Debug.Print "Скачан файл: " & Ссылка
        Else
            MsgBox "Не удалось загрузить файл " & Ссылка, vbCritical
        End If
    Next cell
    pi.Hide    ' закрываем прогресс-бар
    Application.ScreenUpdating = True
    msg = "Обработано ссылок: " & ra.Cells.Count & ".  Загружено файлов: " & FilesCount% & vbNewLine
    msg = msg & "Файлы помещены в папку """ & ПапкаДляФайлов$ & """"
    MsgBox msg, vbInformation, "Загрузка файлов завершена"
End Sub

Преобразование ссылок на изображения в картинки в файле Excel является простой задачей, которую можно решить без использования платных модулей и настроек, а лишь выполнив простую инструкцию ниже.

  • Скачивание;
  • Возврат к таблице Microsoft.

Видеоинструкция

Преобразование ссылок на изображения в картинки в таблице Excel

Среди базовых возможностей MS Excel нет такой функции, однако, можно легко скопировать всю таблицу в Google таблицу, после чего выполнить данную работу. Для этого создаем Google аккаунт и переходим на сайт:

https://www.google.ru/sheets/about/

Главная страница Google Таблиц

Создаем новый документ.

Создание нового документа в Google Таблицах

Даем название файлу и копируем туда таблицу из обычного Экселя.

Таблица Excel с ссылками на картинки

Далее используем формулу:

=IMAGE([ссылка]; [тип], [высота], [ширина])

Формула IMAGE в Excel и пример скачивания картинки по сссылке

Где

  • [ссылка] — ссылка, которая может быть просто прописана или же взята из ячейки;
  • [высота] – ширина изображения в пикселях (не обязательное);
  • [ширина] – высота изображения в пикселях (не обязательное);
  • [тип] – модификация, может принимать, значения от 1 до 4.

В случае с модификацией каждое число будет обозначать:

  1. Изображение будет растягивать до размеров ячейки с сохранением пропорций сторон;
  2. Растягивание будет происходить без сохранения пропорций сторон;
  3. Загрузка картинки с оригинальным размером;
  4. Требуется самостоятельно указать размер при помощи [высота] и [ширина]

Пример можно посмотреть здесь:

https://docs.google.com/spreadsheets/d/1yIW7LOghVldP3TcMLyD_HY_bnhCPDIfeLHftZA-AIZA/edit#gid=0

Далее можно переходить к превращению файла обратно в стандартную версию.

Преобразование ссылок на изображения в картинки в таблице обратно в МС Эксель

Выполнить эту задачу можно скопировав, выделив нужный диапазон и кликнув правой клавишей мыши (сочетание клавиш CTRL+C).

Копирование преобразованных картинок из ссылок в Google Таблице

После вставляем данные в стандартную таблицу.

Копирование таблицы со скачанными изображениями с ссылок на картинки в Excel

Все готово.

Пример скачивания картинки по ссылке на изображение в Excel

В дальнейшем можно скачать данные изображения при помощи инструкции.

Пример можно скачать ниже.

 

Виталий

Пользователь

Сообщений: 256
Регистрация: 01.01.1970

Добрый день всем! Как написать макрос для автоматизации следующей задачи? Из колонки В по гиперссылке скачать фото на рабочий стол в папку «Фото» с именем из колонки А пять цифр — соответственно Коду товара. Таких позиций около тысячи и в ручную очень долго эту операцию делать.  Я понимаю, что это делается с помощью цикла, а как взаимодействовать с браузером и вообще возможно ли это?

Изменено: Виталий10.01.2016 16:52:34

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

Изменено: Андрей VG11.01.2016 05:00:15

 

Виталий

Пользователь

Сообщений: 256
Регистрация: 01.01.1970

Спасибо, я как раз это и нашел. Жаль что демо-версия на 5 запусков только.

 

Игорь

Пользователь

Сообщений: 3632
Регистрация: 23.12.2012

Какая демоверсия? какие 5 запусков?
Вам дали ссылку на бесплатный макрос, решающий вашу задачу
Возможно, надо только немного доработать макрос под вас (задав столбец с ссылками, и задав путь к папке с фото)

А ссылка на готовое решение (которое платное) — это на случай, если вам лень разбираться в коде, внося правки,
и вы хотите настроить все через интерфейс готовой программы.

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#5

11.01.2016 16:35:36

При некотором желании можно сделать из без макроса ;)  Формируете часть html формулами

Код
="<tr><td><img src="""&Аркуш1!B12&"""></td></tr>"

Протягивая на всё количество изображений.
В блокноте делаете html файл со следующим содержанием.

Код
<html>
<head><title>for upload</title></head>
<body>
<table>
<!--Вставляете ниже этой строки всё что получили формулами-->
</table>
</body></html>

Сохраняете и открываете этот html-файл, например, в firefox. Выбираете в нём сохранить как и тип web-страница полностью. В подпапке for upload_files папки где сохранили страницу будут ваши файлы картинок.
Успехов.

 

Виталий

Пользователь

Сообщений: 256
Регистрация: 01.01.1970

Ух, ты прям волшебство какое-то. Спасибо огромное.

 

Даже проще — копируем столбец со ссылками, вставляем в Блокнот, копируем из Блокнота (чтобы в буфере обмена получился чистый текст). Запускаем

FlashGet

, он подхватывает ссылки из буфера обмена — поехали :)

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#8

12.01.2016 05:26:49

оброе время суток.

Цитата
Казанский написал:
он подхватывает ссылки из буфера обмена — поехали

Алексей, мы не ищем уж совсем простых путей ;) . С другой стороны, Виталий теперь может смело сказать, что он начинающий web-разработчик :) — создана первая страница!

 

arvidservis

Пользователь

Сообщений: 9
Регистрация: 18.12.2016

#9

18.12.2016 21:31:56

Здравствуйте, Это в самом макросе вставляется код?

Группа: Пользователи

Ранг: Новичок

Сообщений: 29


Репутация:

1

±

Замечаний:
20% ±


Excel 2013

Здравствуйте!
Никак не могу найти решение задачи:
— в ячейках есть ссылки на конкретные фото с сайта (http://sofme.ru/UploadedFiles/Image_ROWIQFABCCHOUTJ.jpg)
— можно ли как-то быстро загрузить изображения по этим ссылкам в соседние ячейки?

Заранее благодарен за ответы.

К сообщению приложен файл:

0927723.xlsx
(45.2 Kb)

doc url для img 1

Если у вас есть список URL-адресов изображений в столбце A, и теперь вы хотите загрузить соответствующие изображения из URL-адресов и отобразить их в соседнем столбце B, как показано на скриншоте слева. Как в Excel быстро и легко извлечь реальные изображения из URL-адресов изображений?

Преобразование URL-адресов изображений в реальные изображения с помощью кода VBA

Преобразуйте URL-адреса изображений в фактические изображения с помощью Kutools for Excel


Преобразование URL-адресов изображений в реальные изображения с помощью кода VBA

Следующий код VBA может помочь вам быстро извлечь фактические изображения из URL-адресов изображений, пожалуйста, сделайте следующее:

1. Удерживайте ALT + F11 клавиши, чтобы открыть окно Microsoft Visual Basic для приложений.

2. Нажмите Вставить > Модулии вставьте следующий код в окно модуля.

Код VBA: преобразование URL-адресов изображений в реальные изображения:

Sub URLPictureInsert()
Dim Pshp As Shape
Dim xRg As Range
Dim xCol As Long
On Error Resume Next
Application.ScreenUpdating = False
Set Rng = ActiveSheet.Range("A2:A5")
For Each cell In Rng
filenam = cell
ActiveSheet.Pictures.Insert(filenam).Select
Set Pshp = Selection.ShapeRange.Item(1)
If Pshp Is Nothing Then GoTo lab
xCol = cell.Column + 1
Set xRg = Cells(cell.Row, xCol)
With Pshp
.LockAspectRatio = msoFalse
If .Width > xRg.Width Then .Width = xRg.Width * 2 / 3
If .Height > xRg.Height Then .Height = xRg.Height * 2 / 3
.Top = xRg.Top + (xRg.Height - .Height) / 2
.Left = xRg.Left + (xRg.Width - .Width) / 2
End With
lab:
Set Pshp = Nothing
Range("A2").Select
Next
Application.ScreenUpdating = True
End Sub

Ноты: 

  • 1. В приведенном выше коде A2: A5 — это диапазон ячеек, содержащий URL-адреса, из которых вы хотите извлечь изображения, вы должны изменить ссылки на ячейки в соответствии с вашими потребностями.
  • 2. С помощью этого кода вы не можете указать размер извлекаемых изображений по своему усмотрению.
  • 3. Приведенный выше код может извлекать только актуальные изображения в ячейки помимо столбца URL-адреса, вы не можете указать ячейку для вывода изображений.
  • 4. Вы должны иметь некоторые базовые знания кода. Если какой-либо символ пропущен или неверен, код не будет выполнен успешно.

3, Затем нажмите F5 ключ для запуска этого кода, и все соответствующие изображения были извлечены из URL-адресов изображений в соседний столбец сразу, а изображения будут помещены в центр ваших конкретных ячеек, см. снимок экрана:

doc url для img 2


Преобразуйте URL-адреса изображений в фактические изображения с помощью Kutools for Excel

Если вы не знакомы с кодом VBA или хотите устранить ограничение приведенного выше кода, Kutools for Excel‘s Путь к форме вставки изображений (URL) Функция может помочь вам быстро вставить соответствующие изображения на основе URL-адресов или определенного пути на вашем компьютере, как показано ниже. Нажмите, чтобы скачать Kutools for Excel!

Внимание:Чтобы применить это Путь к форме вставки изображений (URL), во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.

После установки Kutools for Excel, пожалуйста, сделайте так:

1. Нажмите Кутулс > Вставить > Путь к форме вставки изображений (URL), в появившемся диалоговом окне установите следующие операции, см. снимки экрана:

2, Затем нажмите Ok кнопку, и изображения будут извлечены из URL-адресов, см. снимок экрана:

doc url для img 1

Нажмите, чтобы загрузить и бесплатную пробную версию Kutools for Excel от Yhao сейчас!


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (61)


Оценок пока нет. Оцените первым!

Понравилась статья? Поделить с друзьями:
  • Скачать картинку microsoft word
  • Скачать картинки для word документов
  • Скачать ипотечный калькулятор с досрочным погашением excel скачать бесплатно
  • Скачать калькуляционную карточку excel
  • Скачать ипотечный калькулятор excel учитывающий досрочное погашение