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:
- Starten Sie den Internet Explorer
- Navigieren Sie zur URL des ASP-Webformulars
- Füllen Sie die Felder des Webformulars mit den entsprechenden Daten aus Zeile 2 der Excel-Tabelle aus.
- Klicken Sie auf die Schaltfläche „Senden“
- Wiederholen, bis alle Zeilen übermittelt sind
Excel Tabelle:
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.
Antwort1
Ihr Problem besteht darin, dass zum Ausführen Ihrer Aufgaben ein Iframe zum Navigieren vorhanden ist:
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