Макрос предназначен для загрузки изображений (или любых других файлов) из интернета, и сохранения скачанных файлов в одну папку.
Исходные данные для работы макроса:
таблица, в которой содержатся по меньшей мере 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/
Создаем новый документ.
Даем название файлу и копируем туда таблицу из обычного Экселя.
Далее используем формулу:
=IMAGE([ссылка]; [тип], [высота], [ширина])
Где
- [ссылка] — ссылка, которая может быть просто прописана или же взята из ячейки;
- [высота] – ширина изображения в пикселях (не обязательное);
- [ширина] – высота изображения в пикселях (не обязательное);
- [тип] – модификация, может принимать, значения от 1 до 4.
В случае с модификацией каждое число будет обозначать:
- Изображение будет растягивать до размеров ячейки с сохранением пропорций сторон;
- Растягивание будет происходить без сохранения пропорций сторон;
- Загрузка картинки с оригинальным размером;
- Требуется самостоятельно указать размер при помощи [высота] и [ширина]
Пример можно посмотреть здесь:
https://docs.google.com/spreadsheets/d/1yIW7LOghVldP3TcMLyD_HY_bnhCPDIfeLHftZA-AIZA/edit#gid=0
Далее можно переходить к превращению файла обратно в стандартную версию.
Преобразование ссылок на изображения в картинки в таблице обратно в МС Эксель
Выполнить эту задачу можно скопировав, выделив нужный диапазон и кликнув правой клавишей мыши (сочетание клавиш CTRL+C).
После вставляем данные в стандартную таблицу.
Все готово.
В дальнейшем можно скачать данные изображения при помощи инструкции.
Пример можно скачать ниже.
Виталий Пользователь Сообщений: 256 |
Добрый день всем! Как написать макрос для автоматизации следующей задачи? Из колонки В по гиперссылке скачать фото на рабочий стол в папку «Фото» с именем из колонки А пять цифр — соответственно Коду товара. Таких позиций около тысячи и в ручную очень долго эту операцию делать. Я понимаю, что это делается с помощью цикла, а как взаимодействовать с браузером и вообще возможно ли это? Изменено: Виталий — 10.01.2016 16:52:34 |
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
Изменено: Андрей VG — 11.01.2016 05:00:15 |
Виталий Пользователь Сообщений: 256 |
Спасибо, я как раз это и нашел. Жаль что демо-версия на 5 запусков только. |
Игорь Пользователь Сообщений: 3632 |
Какая демоверсия? какие 5 запусков? А ссылка на готовое решение (которое платное) — это на случай, если вам лень разбираться в коде, внося правки, |
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#5 11.01.2016 16:35:36 При некотором желании можно сделать из без макроса Формируете часть html формулами
Протягивая на всё количество изображений.
Сохраняете и открываете этот html-файл, например, в firefox. Выбираете в нём сохранить как и тип web-страница полностью. В подпапке for upload_files папки где сохранили страницу будут ваши файлы картинок. |
||||
Виталий Пользователь Сообщений: 256 |
Ух, ты прям волшебство какое-то. Спасибо огромное. |
Даже проще — копируем столбец со ссылками, вставляем в Блокнот, копируем из Блокнота (чтобы в буфере обмена получился чистый текст). Запускаем FlashGet , он подхватывает ссылки из буфера обмена — поехали |
|
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#8 12.01.2016 05:26:49 оброе время суток.
Алексей, мы не ищем уж совсем простых путей . С другой стороны, Виталий теперь может смело сказать, что он начинающий web-разработчик — создана первая страница! |
||
arvidservis Пользователь Сообщений: 9 |
#9 18.12.2016 21:31:56 Здравствуйте, Это в самом макросе вставляется код? |
Группа: Пользователи Ранг: Новичок Сообщений: 29
Замечаний: |
Здравствуйте!
Никак не могу найти решение задачи:
— в ячейках есть ссылки на конкретные фото с сайта (http://sofme.ru/UploadedFiles/Image_ROWIQFABCCHOUTJ.jpg)
— можно ли как-то быстро загрузить изображения по этим ссылкам в соседние ячейки?
Заранее благодарен за ответы.
К сообщению приложен файл:
0927723.xlsx
(45.2 Kb)
Если у вас есть список 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-адресов изображений в соседний столбец сразу, а изображения будут помещены в центр ваших конкретных ячеек, см. снимок экрана:
Преобразуйте 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-адресов, см. снимок экрана:
Нажмите, чтобы загрузить и бесплатную пробную версию Kutools for Excel от Yhao сейчас!
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (61)
Оценок пока нет. Оцените первым!