gpt4 book ai didi

html - 使用Excel VBA从网页下载文件

转载 作者:可可西里 更新时间:2023-11-01 13:19:44 25 4
gpt4 key购买 nike

我正在尝试使用 VBA 从网站下载雨量计数据。

我找到了用户输入定义的雨量站编号。搜索完成后,我选择与雨量站对应的复选框的代码和数据格式不起作用。

当我手动执行此操作时,搜索完成后,我必须单击“Dados Convencionais”以显示搜索结果。我找不到在代码中执行此操作的方法。

Sub DownloadCSV()

Dim SearchString As String
Dim SearchBox As Object
Dim SearchButton As Object
Dim SelectionStationButton As Object
Dim SelectionCSVButton As Object
Dim DownloadButton As Object
Dim ie As New InternetExplorer

'User inputs station number
SearchString = InputBox("Input rain gauge station number", "Download data HidroWeb", "Station number- e.g. 02044054")

With ie
.Visible = True
.Navigate "http://www.snirh.gov.br/hidroweb/publico/medicoes_historicas_abas.jsf"

While ie.ReadyState <> 4
DoEvents
Wend

'Station number to be searched
Set SearchBox = .Document.getElementById("form:fsListaEstacoes:codigoEstacao")
SearchBox.Value = SearchString

'Search button click
Set SearchButton = .Document.getElementById("form:fsListaEstacoes:bt")
SearchButton.Click

'select checkbox beside the station number
Set SelectionStationButton = .Document.getElementById("form:fsListaEstacoes:fsListaEstacoesC:j_idt178:table:0:ckbSelecionada")
SelectionStationButton.Click

'Select data format - Arquivo Excel(.CSV)
Set SelectionCSVButton = .Document.getElementById("form:fsListaEstacoes:fsListaEstacoesC:radTipoArquivo:2")
SelectionCSVButton.Click

'click download button
Set DownloadButton = .Document.getElementById("form:fsListaEstacoes:fsListaEstacoesC:btBaixar")
DownloadButton.Click

End With

End Sub

最佳答案

我已尽量接近您的原始代码。以下是一些步骤,其中缺少使下拉菜单出现的步骤,以便您可以选择格式等。

Option Explicit

Sub DownloadCSV()

Dim SearchString As String
Dim SearchBox As Object
Dim SearchButton As Object
Dim SelectionStationButton As Object
Dim SelectionCSVButton As Object
Dim DownloadButton As Object
Dim ie As New InternetExplorer

'User inputs station number
SearchString = "02044054" 'InputBox("Input rain gauge station number", "Download data HidroWeb", "Station number- e.g. 02044054")

With ie
.Visible = True
.Navigate2 "http://www.snirh.gov.br/hidroweb/publico/medicoes_historicas_abas.jsf"

While .Busy Or .readyState < 4: DoEvents: Wend

'Station number to be searched
Set SearchBox = .document.getElementById("form:fsListaEstacoes:codigoEstacao")
SearchBox.Value = SearchString

'Search button click
Set SearchButton = .document.getElementById("form:fsListaEstacoes:bt")
SearchButton.Click

'click dropdown
.document.querySelector("[href*=dadosConvencionais]").Click

'select checkbox beside the station number
.document.querySelector(".checkbox.i-checks i").Click

'Select data format - Arquivo Excel(.CSV)
.document.querySelector("input[value='3']").Click

'click download button
.document.querySelector("[id='form:fsListaEstacoes:fsListaEstacoesC:btBaixar']").Click

Application.Wait Now + TimeSerial(0, 0, 10)
.Quit
End With

End Sub

关于html - 使用Excel VBA从网页下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53574366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com