Добрый вечер,
Подскажите пожалуйста, вот нашел пример в интернете, как сохранить файл на жетский диск с помощью VBA, вот пример кода и он полностью рабочий, но вот проблема, он работает, только если ссылка ведет прямо к файлу, но если ссылка ведет не сразу к файлу, а при переходе по ссылке появляется меню типа "сохранить как/открыть", то ничего не скачивается.
В случае с прямой ссылкой XMLHTTP.statustext = OK, в случая с косвенной ссылкой XMLHTTP.statustext = пустой, подскажите пожалуйста, какой запрос надо послать, что сохранить подобные файлы ?
Подскажите пожалуйста, вот нашел пример в интернете, как сохранить файл на жетский диск с помощью VBA, вот пример кода и он полностью рабочий, но вот проблема, он работает, только если ссылка ведет прямо к файлу, но если ссылка ведет не сразу к файлу, а при переходе по ссылке появляется меню типа "сохранить как/открыть", то ничего не скачивается.
В случае с прямой ссылкой XMLHTTP.statustext = OK, в случая с косвенной ссылкой XMLHTTP.statustext = пустой, подскажите пожалуйста, какой запрос надо послать, что сохранить подобные файлы ?
Код |
---|
Sub Save_file() Dim XMLHTTP As Object Dim ADOStream As Object Dim FileName, Papka_Save$, URLka$ On Error Resume Next URLka = "https://upload.wikimedia.org/wikipedia/commons/thumb/8/86/Microsoft_Excel_2013_logo.svg/110px-Microsoft_Excel_2013_logo.svg.png" Papka_Save = "C:\план\" FileName = CreateObject("Scripting.FileSystemObject").GetFileName(URLka) '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Set XMLHTTP = CreateObject("Microsoft.XMLHTTP") XMLHTTP.Open "GET", URLka, "False" XMLHTTP.send Status_xml = XMLHTTP.statustext '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Set ADOStream = CreateObject("ADODB.Stream") ADOStream.Type = 1: ADOStream.Open ADOStream.Write XMLHTTP.responseBody ADOStream.SaveToFile Papka_Save & FileName, 2 ADOStream.Close: Set ADOStream = Nothing End Sub |