• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル)

エクセルのマクロでブラウザを開き、指定したURLのフォームに固定文字列を入力する方法はありますか?

このQ&Aのポイント
  • エクセルのマクロを使って、ボタンをクリックしたらブラウザを立ち上げ、指定したURLの画面にあるフォームに固定文字列を入力することは可能です。
  • さらに、そのフォームをpost送信した状態にすることもできます。
  • 以下のサイトのソース抜粋では、エクセルからボタンをクリックするだけで、サイトにログインした状態にすることができます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんなのはどうでしょうか? 質問の<form...>にnameが無いので、そのページの最初のformにデータを送ります。 目的のhtmlの2番目の<form...>に送る場合は、 With ie.Document.forms(0) を With ie.Document.forms(1) に変更してください。(0から始まるため)(もちろん3番目ならforms(2)) Sub sample() 'IEを起動する Dim ie As Object Set ie = CreateObject("InternetExplorer.Application") Const READYSTATE_COMPLETE = 4 ''参照設定で「Microsoft Internet Controles」をチェックすれば、上3行は下1行で済む 'Dim ie As New InternetExplorer 'ieを表示する(初期状態で表示しないので) ie.Visible = True '目的のURLを開く ie.Navigate ("http://www.hoge.com") '表示が終わるまで待つ Do While (ie.ReadyState <> READYSTATE_COMPLETE) Or (ie.Busy = True) DoEvents Loop '目的のformにデータを設定 With ie.Document.forms(0) '<input type="text" name="MAIL" size="30" value="">にデータを設定 .Item("MAIL").Value = "aaa@aaa.aaa" 'formをsubmitする .submit End With 'ieをvbaの管理下から切り離す Set ie = Nothing End Sub

japan_3
質問者

お礼

丁寧なご解答ありがとうございました! うまくできました!! フォームの名前を指定する事もできるのですね。 調べるための切り口が分かったので色々調べて見ます。。。

関連するQ&A

専門家に質問してみよう