Когда вы переходите к папке uploads, вы получаете список каталогов всех файлов в нем. Вы можете перебирать гиперссылки в этом листинге и тестировать каждый, чтобы увидеть, соответствует ли он вашему критерию и, если да, загрузите его. Вам нужна ссылка на MSXML и MSHTML. Вот пример.
Sub Sample()
Dim sUrl As String
Dim xHttp As MSXML2.XMLHTTP
Dim hDoc As MSHTML.HTMLDocument
Dim hAnchor As MSHTML.HTMLAnchorElement
Dim Ret As Long
Dim sPath As String
Dim i As Long
sPath = "C:\Documents and Settings\ee28118\Desktop\"
sUrl = "http://cetatenie.just.ro/wp-content/uploads/"
'Get the directory listing
Set xHttp = New MSXML2.XMLHTTP
xHttp.Open "GET", sUrl
xHttp.send
'Wait for the page to load
Do Until xHttp.readyState = 4
DoEvents
Loop
'Put the page in an HTML document
Set hDoc = New MSHTML.HTMLDocument
hDoc.body.innerHTML = xHttp.responseText
'Loop through the hyperlinks on the directory listing
For i = 0 To hDoc.getElementsByTagName("a").Length - 1
Set hAnchor = hDoc.getElementsByTagName("a").Item(i)
'test the pathname to see if it matches your pattern
If hAnchor.pathname Like "Ordin-*.2013.pdf" Then
Ret = UrlDownloadToFile(0, sUrl & hAnchor.pathname, sPath, 0, 0)
If Ret = 0 Then
Debug.Print sUrl & hAnchor.pathname & " downloaded to " & sPath
Else
Debug.Print sUrl & hAnchor.pathname & " not downloaded"
End If
End If
Next i
End Sub
Редактировать
Я предположил, что URLDownloadToFile была уже написана. Я не писал один, я просто использовал функцию ниже, чтобы протестировать код, который выполняет итерацию через файлы. Вы можете использовать его, чтобы убедиться, что приведенный выше код работает для вас, но вам нужно будет написать фактический код для загрузки файла в конце концов. Со всеми аргументами в URLDownloadToFile я удивлен, что он уже не существует.
Function UrlDownloadToFile(lNum As Long, sUrl As String, sPath As String, lNum1 As Long, lNum2 As Long) As Long
UrlDownloadToFile = 0
End Function
Спасибо, но я очень начинаю на этом, могу ли я попросить намек на ссылку MSXML и MSHTML? Что мне делать? Спасибо! – maximladus
OK Я думаю, мне удалось установить оба из них, но потом я получаю сообщение об ошибке: «Sub или Function not defined» выделяет (URLDownloadToFile) и имя Macro ... любые предложения? – maximladus
URLDownloadToFile получен из вашего кода. Я предположил, что у вас есть способ загрузки файла с учетом URL-адреса, и что вы создали функцию URLDownloadToFile, чтобы сделать это. На данный момент добавьте функцию с этим именем (см. Раздел edit to my answer), а затем, если вы не знаете, как загрузить файл через vba, запустите новый вопрос. –