Как скачать фото через эксель по ссылкам
Перейти к содержимому

Как скачать фото через эксель по ссылкам

  • автор:

Как скачать фото через эксель по ссылкам

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Как скачать все фото по ссылкам с csv?

Как можно массово скачать все изображения в одну папку? может есть какая функция или макрос?

  • Вопрос задан более двух лет назад
  • 1026 просмотров

3 комментария

Простой 3 комментария

vabka

Мне кажется, это проще без екселя решить
WebforSelf @WebforSelf Автор вопроса
Василий Банников, ссылок на изображение просто около 1500.

vabka

WebforSelf, ну да. Скрипт на питоне в три строчки
Решения вопроса 0
Ответы на вопрос 2

ProgrammerForever

Григорий Боев @ProgrammerForever Куратор тега Excel
Учитель, автоэлектрик, программист, музыкант

Можно так, например. Для небольших объёмов — самое то. Список файлов в list.txt
Код сохранить как bat или cmd

mkdir downloads wget -x -i list.txt --secure-protocol=auto -nc -c -P downloads>log.txt

Ответ написан более двух лет назад
Нравится 1 3 комментария
WebforSelf @WebforSelf Автор вопроса
а куда сохранятся картинки? это получается винда сделает?

ProgrammerForever

Григорий Боев @ProgrammerForever Куратор тега Excel
WebforSelf, в папку downloads, которую сам же скрипт и сделает

винда сделает?

Надо установить wget для windows

honor8

Григорий Боев, в win10 есть curl

Krasnoarmeec

Krasnoarmeec @Krasnoarmeec

На Экселе получается не сильно длиннее, чем на питоне:

Public Declare Function URLDownloadToFile Lib "urlmon" Alias _ "URLDownloadToFileA" (ByVal pCaller As Long, _ ByVal szURL As String, _ ByVal szFileName As String, _ ByVal dwReserved As Long, _ ByVal lpfnCB As Long) As Long ' http://site.ru/images/site/site_ru_logo.png Sub Start() Call DownloadToFile("http://site.ru/images/site/site_ru_logo.png", "D:\123.png") End Sub Public Sub DownloadToFile(url$, FileName$) Dim lngRetVal& lngRetVal = URLDownloadToFile(0, url, FileName, 0, 0) If lngRetVal <> 0 Then MsgBox "Error in DownloadToFile: Can't download from " & url & " to " & FileName End If End Sub

Загрузка изображений из интернета по ссылкам в одну папку

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

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

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

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

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

Если вам требуется вставлять много изображений на лист Excel, — то вам поможет надстройка, позволяющая производить поиск изображений в заданной папке, и производить вставку картинок в ячейки или примечания

Кроме того, надстройка для вставки изображений в Excel умеет загружать картинки из интернета (по ссылкам в таблице 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
  • 75674 просмотра

Извлечение изображения из документа Microsoft Excel

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

Извлечение картинок

Главным критерием выбора конкретного способа является тот факт, хотите ли вы вытащить одиночное изображение или произвести массовое извлечение. В первом случае можно удовлетвориться банальным копированием, а вот во втором придется применить процедуру конвертации, чтобы не терять время на извлечении каждого рисунка по отдельности.

Способ 1: копирование

Но, прежде всего, давайте все-таки рассмотрим, как произвести извлечение изображения из файла методом копирования.

  1. Для того чтобы скопировать изображение, прежде всего его нужно выделить. Для этого кликаем по нему один раз левой кнопкой мыши. Затем выполняем щелчок правой кнопкой мыши по выделению, тем самым вызывая контекстное меню. В появившемся списке выбираем пункт «Копировать». Копирование изображения через контекстное меню в Microsoft ExcelМожно также после выделения изображения перейти во вкладку «Главная». Там на ленте в блоке инструментов «Буфер обмена» щелкаем по пиктограмме «Копировать». Копирование изображения с помощью кнопки на ленте в Microsoft ExcelСуществует и третий вариант, при котором после выделения нужно нажать на комбинацию клавиш Ctrl+C.
  2. После этого запускаем любой редактор изображений. Можно, например, воспользоваться стандартной программой Paint, которая встроена в Windows. Производим вставку в эту программу любым из тех способов, которые в ней доступен. В большинстве вариантов можно воспользоваться универсальным способом и набрать комбинацию клавиш Ctrl+V. В Paint, кроме этого, можно нажать на кнопку «Вставить», расположенную на ленте в блоке инструментов «Буфер обмена». Вставка изображения в программе Paint
  3. После этого картинка будет вставлена в редактор изображений и её можно сохранить в виде файла тем способом, который доступен в выбранной программе.

Сохранение изображения в программе Paint

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

Способ 2: массовое извлечение изображений

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

  1. Открываем документ Excel, содержащий изображения. Переходим во вкладку «Файл». Переход во вкладку Файл в Microsoft Excel
  2. В открывшемся окне щелкаем по пункту «Сохранить как», который находится в левой его части. Переход к соранению документа Microsoft Excel
  3. После этого действия запускается окно сохранения документа. Нам следует перейти в ту директорию на жестком диске, в которой желаем, чтобы разместилась папка с картинками. Поле «Имя файла» можно оставить без изменения, так как для наших целей это не важно. А вот в поле «Тип файла» следует выбрать значение «Веб-страница (*.htm; *.html)». После того, как вышеуказанные настройки произведены, щелкаем по кнопке «Сохранить». Сохранение файла в Microsoft Excel
  4. Возможно, при этом появится диалоговое окно, в котором будет сообщаться, что файл может иметь возможности, несовместимые с форматом «Веб-страница», и при конвертации они будут утеряны. Нам следует согласиться, нажав на кнопку «OK», так как единственной целью является извлечение картинок.
  5. После этого открываем Проводник Windows или любой другой файловый менеджер и переходим в директорию, в которой сохранили документ. В этой директории должна образоваться папка, которая содержит наименование документа. Именно в этой папке и содержатся изображения. Переходим в неё. Папка с изображениями в Проводнике Windows
  6. Как видим, картинки, которые были в документе Excel, представлены в этой папке в виде отдельных файлов. Теперь с ними можно выполнять те же манипуляции, что и с обычными изображениями.

Изображения в Проводнике Windows

Вытащить картинки из файла Excel не так уж сложно, как могло показаться на первый взгляд. Это можно сделать либо путем простого копирования изображения, либо путем сохранения документа, как веб-страницы, встроенными инструментами Эксель.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *