Importe datos de hojas de cálculo de Excel a un formulario web ASP.net usando VBA

Importe datos de hojas de cálculo de Excel a un formulario web ASP.net usando VBA

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:

  1. iniciar Internet Explorer
  2. navegue a la URL del formulario web asp
  3. Complete los campos del formulario web con los datos correspondientes de la fila 2 de la hoja de cálculo de Excel.
  4. haga clic en el botón enviar
  5. repetir hasta que se envíen todas las filas

Hoja de cálculo de Excel:

Sobresalir

Enlace al formulario web

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.

Error de VBA

Respuesta1

Su problema es que hay un iframe para navegar para poder realizar sus tareas:

marco flotante:

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

información relacionada