我正在使用Excel VBA代码来适应我的需要,但我无法告诉代码如何点击我放在附件中的示例。您在Internet Explorer中的参考是
<a href="/siconv/ConsultProposal/ProfileQueryProfileQueryProposal.of?id?proposed=1336163&destino=&idConvenio=">
并且我不确定如何将此提示添加到VBA以进行单击。任何可以帮助感谢的人,尼尔顿。
Sub lsConsultaObjetoPropostaSiconv()
'Inclui a referência se não houver
lReferenciaIE
Dim IE As InternetExplorer
Dim lProposta As String
Dim lUltimaLinhaAtiva As Long
Dim lContador As Long
'Identifica a última célula ativa da lista
lUltimaLinhaAtiva = Worksheets("Plan4").Cells(Worksheets("Plan4").Rows.Count, 1).End(xlUp).Row
'Cria um objeto Internet Explorer
Set IE = New InternetExplorer
'Torna o objeto visível
IE.Visible = True
'Faz um loop por todas as linhas da planilha
For lContador = 2 To lUltimaLinhaAtiva
'Navega ao site Siconv
IE.Navigate "https://www.convenios.gov.br/siconv/proposta/ConsultarProposta/ConsultarProposta.do"
'Identifica se a página já foi totalmente carregada
While IE.ReadyState <> READYSTATE_COMPLETE
Wend
'Como a página possui JavaScript que cria os objetos que são preenchidos após a carga completa, é necessário
'aguardar um tempo, coloquei 3 segundos, alterar conforme a necessidade.
'Caso não tenha javascript na criação dos objetos da página comentar esta parte do código, pois será bem
'mais rápida a execução.
sng = Timer
Do While sng + 3 > Timer
Loop
'Carrega os dados da proposta que serão preenchidos na página
lProposta = Range("A" & lContador).Value
'Carrega os dados da proposta na página e submete os dados do formulário
IE.Document.all("numeroProposta").innertext = lProposta
IE.Document.forms("consultarPropostaPreenchaOsDadosDaConsultaConsultarForm").submit
'Identifica se a página já foi totalmente carregada
While IE.ReadyState <> READYSTATE_COMPLETE
Wend
Clica no número da proposta e abre nova aba
'IE.Document.body.getElementsByTagName ("Número da Proposta")
'IE.Document.getElementById("a").Click
'Como a página possui JavaScript que cria os objetos que são preenchidos após a carga completa, é necessário
'aguardar um tempo, coloquei 3 segundos, alterar conforme a necessidade.
'Caso não tenha javascript na criação dos objetos da página comentar esta parte do código, pois será bem
'mais rápida a execução.
sng = Timer
Do While sng + 3 > Timer
Loop
'Faz um loop pelos objetos do tipo table na página e procura pelo campo Objeto do Convênio.
'Em seguida busca pela segunda coluna da linha de Situação e armazena esta informação diretamente na coluna B da linha da planilha
For Each i In IE.Document.body.getElementsByTagName("table")
If InStr(i.innertext, "Objeto do Convênio") > 0 Then
For Each l In i.getElementsByTagName("tr")
If InStr(l.innertext, lProposta) Then
Range("B" & lContador).Value = l.getElementsByTagName("td")(1).innertext
End If
Next l
End If
Next i
Next lContador
MsgBox "Concluído!"
End Sub