Importieren Sie Excel-Tabellendaten mit VBA in ein ASP.net-Webformular

Importieren Sie Excel-Tabellendaten mit VBA in ein ASP.net-Webformular

Ich versuche, mithilfe von Excel VBA Daten aus einer Tabelle in ein ASPX-Onlineformular zu exportieren und abzusenden.

Beispiel: Ich habe eine Tabelle mit Spalte A mit dem Titel „NAME“. Die Zeilen sind mit den entsprechenden Daten gefüllt. Außerdem habe ich eine URL, die zu einem asp.net-Webformular führt. Das Webformular hat ein Feld für „Ihr Name“. Ich möchte ein Makro ausführen, das Folgendes tut:

  1. Starten Sie den Internet Explorer
  2. Navigieren Sie zur URL des ASP-Webformulars
  3. Füllen Sie die Felder des Webformulars mit den entsprechenden Daten aus Zeile 2 der Excel-Tabelle aus.
  4. Klicken Sie auf die Schaltfläche „Senden“
  5. Wiederholen, bis alle Zeilen übermittelt sind

Excel Tabelle:

Excel

Link zum Webformular

Ich habe Tutorials dazu gefunden, wie das für HTML geht, aber keines zu ASP-Webformularen, und anscheinend haben andere schon früher um Hilfe zu diesem gleichen Thema gebeten:Verknüpfung.

Hier ist der Code, den ich bisher zusammengeschustert habe, und der Fehler, den ich bekomme. Ich wäre für jeden Rat dankbar. Außerdem muss ich anmerken, dass ich ein absoluter Neuling bin, also bitte in Laiensprache.

VBA-Fehler

Antwort1

Ihr Problem besteht darin, dass zum Ausführen Ihrer Aufgaben ein Iframe zum Navigieren vorhanden ist:

iframe:

iframe

Ihr Code muss dies berücksichtigen, zum Beispiel:

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

verwandte Informationen