Скачать файл с VBA с выпадающим меню - PullRequest
0 голосов
/ 30 января 2020

Я пытаюсь загрузить файлы с помощью VBA. Это работало нормально, когда у меня есть четкий URL-адрес для загрузки. К сожалению, мне также нужно скачать два файла, где есть раскрывающееся меню, в котором я выбираю один из вариантов, а затем нажимаю кнопку загрузки. Глядя на вкладку «Источник / Сеть», я смог извлечь URL для загрузки (URL-адрес /xxx/download.php в приведенном ниже исходном коде), но он загружает только файл, по умолчанию в раскрывающемся меню. Я не знаю, как взаимодействовать с выпадающим меню в VBA, чтобы я мог загружать разные файлы.

Я использовал для этого стандартный код VBA.

Sub DownloadFile()

Dim myURL As String
myURL = "https://xxx/download.php"

Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", myURL, False
WinHttpReq.send

If WinHttpReq.Status = 200 Then
    Set oStream = CreateObject("ADODB.Stream")
    oStream.Open
    oStream.Type = 1
    oStream.Write WinHttpReq.responseBody
    oStream.SaveToFile "C:\yyy", 2

    oStream.Close
End If

End Sub

(Я думаю) соответствующая часть исходного кода выглядит следующим образом:

action="https://xxx/download.php">
        <label for="type">Select content to export</label>
        <select id="type" name="type">
            <option value="option1">Option1</option>
            <option value="option2">Option2</option>
            <option value="option3">Option3</option>
            <option value="option4">Option4</option>
        </select>
        <p><input type="submit" value="Download" class="button-primary" /></p>
        <input type="hidden" name="page" value="aaa" />
            <input type="hidden" id="valid" name="valid" value="8a2a0a83e3" /><input type="hidden" name="_wp_http_referer" value="bbb" />
      </form><br /></div>

Страница является закрытой, поэтому мне пришлось немного ее анонимизировать.

Буду признателен за любую помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...