Member 14784416 Ответов: 0

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 является целым числом и должно быть преобразовано в строку перед конкатенацией с текстом

0 Ответов