Я хочу загрузить несколько файлов из списка ссылок. Веб-сайт, на котором я нахожу ссылки, защищен. Вот почему я хочу использовать IE (используя текущий сеанс/файл cookie). Цель каждой ссылки - xml-файл. Файлы слишком большие, чтобы открыть, а затем сохранить. Поэтому мне нужно сохранить их напрямую (щелкните правой кнопкой мыши, сохраните цель как).VBA Macro для загрузки нескольких файлов из ссылок в IE
Список ссылок выглядит следующим образом:
<html>
<body>
<p> <a href="https://example.com/report?_hhhh=XML"Link A</a><br>> </p>
<p> <a href="https://example.com/report?_aaaa=XML"Link B</a><br>> </p>
...
</body>
</html>
Я хочу, чтобы перебрать все ссылки и сохранить каждую цель. В настоящее время у меня проблемы с «Сохранить как». Я не знаю, как это сделать. Это мой код:
Sub DownloadAllLinks()
Dim IE As Object
Dim Document As Object
Dim List As Object
Dim Link As Object
' Before I logged in to the website
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate ("https:\\......\links.html")
Do While IE.Busy
DoEvents
Loop
' Detect all links on website
Set Document = IE.Document
Set List = Document.getElementsByTagName("a")
' Loop through all links to download them
For Each Link In List
' Now I need to automate "save target as"/right-click and then "save as"
...
Next Link
End Sub
У вас есть идеи автоматизировать «Сохранить как» для каждой ссылки?
Любая помощь приветствуется. Большое спасибо, Ули
Это кроличья дыра, которую я несколько раз спасал. Короткий ответ - перестать пытаться заставить IE действовать как агент для загрузки файлов. Используйте объект xmlHttp для входа и получения/возврата аутентификации с помощью GetResponseHeader, затем сохраните файл (ы) с потоком ADO. – Jeeped
[Это] (http://stackoverflow.com/a/32429348/2165759) может помочь. – omegastripes