Доброго времени суток, знатоки. Прошу помощи в корректировке скрипта или макроса с помощью которого можно скачать из интернета конкретный файл. Сейчас у меня есть скрипт и макрос ( с сайта ексельвба.ру) в котором я задаю определенный сайт, нужный файл, путь сохранения нужного файла с сайта. Однако при открытии сохраненного файла на компе открывается в нем страница с всей информацией страницы с интернета. Для примера использована страница: http://www.planetaexcel.ru/forum/?PAGE_NAME=read&FID=1&TID=46526/Example.xlsx и файл на ней Example.xlsx Помогите пожалуйста.
С макросом проблем нет (хотя я бы советовал использовать WinAPI функцию) Вы просто неправильно указали ссылку на тот файл. (с чего вы взяли, что надо приписать имя файла к ссылке на тему?)
Вместо СсылкаНаФайл$ = "http://www.planetaexcel.ru/forum/?PAGE_NAME=read&FID=1&TID=46526/Example.xlsx" напишите СсылкаНаФайл$ = "http://www.planetaexcel.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=68889&action=download" и всё чудесным образом заработает.
PS: чтобы получить ссылку на файл, щелкните на нём правой кнопкой, и выберите пункт «Копировать ссылку»
Макрос супер. Работает отлично. На работе попробовал данный макрос для скачивания определенного файла (Отчет_1.xls) из сети. Возникла проблема: файл Отчет_1.xls лежит в папке "Отчеты". Файл Отчет_1.xls в сети обновляется каждые 5 часов, соответственно изменяется и адрес для скачивания в макросе. Есть ли способы закрепить в макросе адрес файла (Отчет_1.xls) который обновляется?? Спасибо Вам.
ну вы даёте... мне вам тоже второй раз отвечать?... первый здесь...
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Всем привет! Никак не пойму в чем проблема. Лимиты сайта или ошибка в коде?
Код
Function GetFile(mURL As String, mPath As String) As Boolean
Dim XMLHTTP, ADOStream
On Error GoTo StopFunc
GetFile = False
Set XMLHTTP = CreateObject("Microsoft.XMLHTTP")
XMLHTTP.Open "GET", mURL
XMLHTTP.send
If XMLHTTP.StatusText = "OK" Then
Set ADOStream = CreateObject("ADODB.Stream")
With ADOStream
.Type = 1
.Open
.Write XMLHTTP.ResponseBody
.SaveToFile mPath, 2
.Close
End With
GetFile = True
GoTo ExitFunc
End If
StopFunc:
GetFile = False
ExitFunc:
End Function
Скачиваю циклом файлы (картинки) по ссылкам. Ну, допустим скачивается 80-100 файлов и всё, дальше ничего не скачивается. Проходит какое то время, запускаю вновь и опять тоже самое, 80-100 файлов получено, потом только false возвращается функцией. Если ошибки в коде нет, значит лимиты сайта какие то установлены (сайт принципиального значения не имеет)? Можно как то обойти лимиты? Потому что после останова кода (мной) я перехожу по ссылку в браузере и все открывается!