Estou tentando usar o Excel VBA para exportar dados de uma planilha para um formulário online aspx e enviá-los.
Exemplo: tenho uma planilha com a coluna A intitulada “NOME”. As linhas são preenchidas com os dados correspondentes. Também tenho um URL que leva a um formulário da web asp.net. O formulário web possui um campo para “Seu Nome”. Eu gostaria de executar uma macro que irá:
- iniciar o Internet Explorer
- navegue até o URL do formulário da web asp
- preencha os campos do formulário da web com os dados correspondentes da linha 2 da planilha do Excel
- clique no botão enviar
- repita até que todas as linhas sejam enviadas
Planilha do Excel:
Encontrei tutoriais sobre como fazer isso em HTML, mas nenhum em formulários da web asp e, aparentemente, outros solicitaram ajuda sobre o mesmo assunto antes:Link.
Aqui está o código que criei até agora e o erro que estou recebendo. Qualquer conselho seria muito apreciado. Também sinto que é necessário afirmar que sou um novato, portanto, termos para leigos, por favor.
Responder1
Seu problema é que existe um iframe para navegar para realizar suas tarefas:
iframe:
Seu código precisa navegar nisso, por exemplo:
Option Explicit
Public Sub SubmitInfo()
Dim IE As New InternetExplorer
With IE
.Visible = True
.navigate "https://www.w3schools.com/asp/showasphtmfile.asp?filename=demo_reqquery"
While .Busy Or .readyState < 4: DoEvents: Wend
With .document.getElementsByTagName("iframe")(0).contentDocument
.querySelector("input[type=text]").Value = "blah"
.querySelector("input[type=submit]").Click
End With
'.Quit '<== Remember to quit application
End With
End Sub