Estoy intentando utilizar Excel VBA para exportar datos de una hoja de cálculo a un formulario aspx en línea y enviarlos.
Ejemplo: tengo una hoja de cálculo con la columna A titulada "NOMBRE". Las filas se completan con los datos correspondientes. También tengo una URL que conduce a un formulario web asp.net. El formulario web tiene un campo para "Su nombre". Me gustaría ejecutar una macro que:
- iniciar Internet Explorer
- navegue a la URL del formulario web asp
- Complete los campos del formulario web con los datos correspondientes de la fila 2 de la hoja de cálculo de Excel.
- haga clic en el botón enviar
- repetir hasta que se envíen todas las filas
Hoja de cálculo de Excel:
He encontrado tutoriales sobre cómo hacer esto para HTML pero ninguno sobre formularios web ASP y aparentemente otros han solicitado ayuda sobre este mismo tema antes:Enlace.
Aquí está el código que he improvisado hasta ahora y el error que recibo. Cualquier consejo sería muy apreciado. También creo que es necesario decir que soy un novato, así que, por favor, utilice términos sencillos.
Respuesta1
Su problema es que hay un iframe para navegar para poder realizar sus tareas:
marco flotante:
Su código necesita navegar por esto, por ejemplo:
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