Добрый день! Помогите, пожалуйста, решить вопрос с помощью макросов (если это возможно): Загрузка изображений из интернета по ссылкам в соответствующие папки. Есть файл со множеством строк (может быть до 1 млн строк, в примере строк значительно меньше), в котором есть столбец "N" со ссылками на фото, эти фото необходимо скачать на ПК в соответствующие вложенные папки, путь для сохранения фото указан в этом же файле в столбце "O" Т.е. по примеру строки 2, после скачивания фото должно разместиться на ПК следующим образом: папка big, далее в ней папка new, далее в ней папка 6000, далее в ней папка 67323 и уже в ней скачанный файл, и так далее. Сложность так же заключается еще и в том, что у некоторых ссылок есть дополнительные две, три или четыре фото. Чтобы скачать все фото товара, в конце ссылки цифру 1 нужно заменять на 2, на 3, и на 4 (получится до 4-х файлов по одной ссылке), необходимо скачать их все. Однако у некоторых ссылок дополнительных фото будет меньше 4-х или дополнительных фото не будет вовсе. При этом в файле в разных строках встречаются повторяющиеся (одинаковые) ссылки на фото, если по повторяющейся ссылке фото уже скачано единожды, то повторно фото скачивать уже не нужно.
Пример файла во вложении.
Заранее большое спасибо!
Добрый день! Помогите, пожалуйста, решить вопрос с помощью макросов (если это возможно): Загрузка изображений из интернета по ссылкам в соответствующие папки. Есть файл со множеством строк (может быть до 1 млн строк, в примере строк значительно меньше), в котором есть столбец "N" со ссылками на фото, эти фото необходимо скачать на ПК в соответствующие вложенные папки, путь для сохранения фото указан в этом же файле в столбце "O" Т.е. по примеру строки 2, после скачивания фото должно разместиться на ПК следующим образом: папка big, далее в ней папка new, далее в ней папка 6000, далее в ней папка 67323 и уже в ней скачанный файл, и так далее. Сложность так же заключается еще и в том, что у некоторых ссылок есть дополнительные две, три или четыре фото. Чтобы скачать все фото товара, в конце ссылки цифру 1 нужно заменять на 2, на 3, и на 4 (получится до 4-х файлов по одной ссылке), необходимо скачать их все. Однако у некоторых ссылок дополнительных фото будет меньше 4-х или дополнительных фото не будет вовсе. При этом в файле в разных строках встречаются повторяющиеся (одинаковые) ссылки на фото, если по повторяющейся ссылке фото уже скачано единожды, то повторно фото скачивать уже не нужно.
Тогда почему тема в "Вопросах по Excel" а не в ветке VBA? - перенес.
Скачать можно при помощи функции URLDownloadToFile [vba]
Код
#If Win64 Then #If VBA7 Then ' Windows x64, Office 2010 Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _ (ByVal pCaller As LongLong, ByVal szURL As String, ByVal szFileName As String, _ ByVal dwReserved As LongLong, ByVal lpfnCB As LongLong) As LongLong #Else ' Windows x64,Office 2003-2007 Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _ (ByVal pCaller As LongLong, ByVal szURL As String, ByVal szFileName As String, _ ByVal dwReserved As LongLong, ByVal lpfnCB As LongLong) As LongLong #End If #Else #If VBA7 Then ' Windows x86, Office 2010 Declare PtrSafe 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 #Else ' Windows x86, Office 2003-2007 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 #End If #End If
Sub d() Dim i&, n& n = Cells(Rows.Count, "N").End(xlUp).Row For i = 2 To n URLDownloadToFile 0, CStr(Cells(i, "N")), CStr(Cells(i, "X")), 0, 0 Application.StatusBar = i If i Mod 100 = 0 Then DoEvents Next Application.StatusBar = False End Sub
[/vba]
В столбце Х - пропишите формулой ПОЛНОЕ название файла (куда сохранять) - и нажмите кнопку.
Тогда почему тема в "Вопросах по Excel" а не в ветке VBA? - перенес.
Скачать можно при помощи функции URLDownloadToFile [vba]
Код
#If Win64 Then #If VBA7 Then ' Windows x64, Office 2010 Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _ (ByVal pCaller As LongLong, ByVal szURL As String, ByVal szFileName As String, _ ByVal dwReserved As LongLong, ByVal lpfnCB As LongLong) As LongLong #Else ' Windows x64,Office 2003-2007 Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _ (ByVal pCaller As LongLong, ByVal szURL As String, ByVal szFileName As String, _ ByVal dwReserved As LongLong, ByVal lpfnCB As LongLong) As LongLong #End If #Else #If VBA7 Then ' Windows x86, Office 2010 Declare PtrSafe 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 #Else ' Windows x86, Office 2003-2007 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 #End If #End If
Sub d() Dim i&, n& n = Cells(Rows.Count, "N").End(xlUp).Row For i = 2 To n URLDownloadToFile 0, CStr(Cells(i, "N")), CStr(Cells(i, "X")), 0, 0 Application.StatusBar = i If i Mod 100 = 0 Then DoEvents Next Application.StatusBar = False End Sub
[/vba]
В столбце Х - пропишите формулой ПОЛНОЕ название файла (куда сохранять) - и нажмите кнопку.SLAVICK