Vba - скачать все документы с помощью URL-адресов и сохранить как в папку с тем же расширением документа
Привет Команда
Интересно, может ли кто-нибудь мне помочь?
Гиперссылка имела другой тип расширения, например .xlsx. xls, pdf, .msg документы, все документы должны быть загружены и сохранены в папке create как один и тот же тип расширения
Не мог бы кто-нибудь сказать мне, пожалуйста, есть ли способ, с помощью которого я могу внести поправки в Кодекс. этот код работает как документ as .xlsx, но другие расширения не могут быть загружены через макрос
В помощь этому-код, который я использую для создания списка файлов.
Что я уже пробовал:
Option Explicit 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 Dim Ret As Long '~~> This is where the images will be saved. Change as applicable Const ParentFolderName As String = "\\gssux002\GBS_CHE_GL_TMS\ICV\" Sub Download_Report() Dim ws As Worksheet Dim LastRow As Long, i As Long Dim Folderpath, strPath As String Set ws = Sheets("ICV Report") LastRow = ws.Range("A" & Rows.Count).End(xlUp).Row For i = 2 To LastRow Folderpath = ParentFolderName & ws.Range("A" & i).Value & "\" If Len(Dir(Folderpath, vbDirectory)) = 0 Then MkDir Folderpath End If strPath = Folderpath & ws.Range("A" & i).Value & i & "*.*" Ret = URLDownloadToFile(0, ws.Range("H" & i).Value, strPath, 0, 0) If Ret = 0 Then ws.Range("I" & i).Value = "File successfully downloaded" Else ws.Range("I" & i).Value = "Unable to download the file" End If Next i MsgBox "Completed This process !!!", vbInformation End Sub[/CODE]
Richard MacCutchan
Этот код в Excel. для других типов файлов вам нужно использовать двоичные потоковые считыватели.
Member 14784416
не могли бы вы мне помочь, что такое читатели двоичных потоков? можно ли загрузить другие документы расширения по гиперссылке excel?
Richard MacCutchan
Видеть Класс BufferedStream (System.IO) | Microsoft Docs[^].
Member 14784416
Привет, Ричард, спасибо за вашу информацию, но, честно говоря, я не понимаю этот код. я из финансовой команды и не очень разбираюсь в коде. вот я и взял, мой код не стоит скачивать документы по гиперссылке
Richard MacCutchan
Извините, но здесь нет места, чтобы научить вас программированию. Вам нужно подумать о том, чтобы нанять кого-то, чтобы делать то, что вы хотите.
CHill60
Можете ли вы подтвердить - вы запускаете этот VBA в рабочей книге, которая имеет лист под названием "Отчет ICV". В столбце H этого листа у вас есть список файлов, которые вы хотите загрузить?
Можете ли вы привести мне пример (точно) того, что находится в ячейках А2 и Н2?
Я также не думаю, что вы должны устанавливать расширение strPath на ".*"
И это очень плохое использование смешивания целых чисел со строками - i является целым числом и должно быть преобразовано в строку перед конкатенацией с текстом