VBA を使用して Excel スプレッドシートのデータを ASP.net Web フォームにインポートする

VBA を使用して Excel スプレッドシートのデータを ASP.net Web フォームにインポートする

Excel VBA を使用して、スプレッドシートから aspx オンライン フォームにデータをエクスポートし、送信しようとしています。

例: 列 A に「名前」というタイトルのスプレッドシートがあります。行には対応するデータが入力されます。また、asp.net Web フォームに誘導する URL もあります。Web フォームには「Your Name」というフィールドがあります。次の操作を実行するマクロを実行したいと思います。

  1. インターネットエクスプローラを起動する
  2. ASP WebフォームのURLに移動する
  3. Excelスプレッドシートの2行目の対応するデータをWebフォームのフィールドに入力します。
  4. 送信ボタンをクリックしてください
  5. すべての行が送信されるまで繰り返します

エクセルスプレッドシート:

エクセル

ウェブフォームへのリンク

HTML でこれを行う方法に関するチュートリアルは見たことがありますが、ASP Web フォームに関するものはなく、どうやら以前にもこの同じ件に関して他の人が助けを求めていたようです。リンク

ここに、私がこれまでにまとめたコードと、発生したエラーを示します。アドバイスをいただければ幸いです。また、私はまったくの初心者なので、素人にもわかる言葉で説明していただく必要があると思います。

VBA エラー

答え1

問題は、タスクを実行するためにナビゲートする iframe があることです。

インラインフレーム:

インラインフレーム

コードではこれをナビゲートする必要があります。たとえば、次のようになります。

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

関連情報