- 締切済み
VBAでオブジェクトがありません、となってしまう
VBAを実行すると、 実行エラー424 オブジェクトが必要です。 となってしまいます。 エラーとなっている行は、 .Document.getElementById("q_d").Value = ActiveSheet.Cells(rowno, 1).Value です。 作成したリストは、以下のようになっています。 Sub MAP住所() Dim objIE As Object, rowno As Integer rowno = 1 Set objIE = CreateObject("InternetExplorer.Application") With objIE 'Google Map起動 .Navigate "http://maps.google.co.jp/" .Visible = True Do While (ActiveSheet.Cells(rowno, 1).Value <> "") 'IE待機 Do While .Busy = True DoEvents Loop '住所をテストボックスへ入力 .Document.getElementById("q_d").Value = ActiveSheet.Cells(rowno, 1).Value '送信ボタンクリック .Document.forms(0).submit '次の行 rowno = rowno + 1 Loop End With Set objIE = Nothing End Sub A列にある住所を読み込んで、グーグルマップに表示するスクリプトになります。 どう直して良いのか、皆目わかりません 御指南願います
- みんなの回答 (11)
- 専門家の回答
みんなの回答
- cj_mover
- ベストアンサー率76% (292/381)
こんにちは。 エラーの原因を確認するためにHTMLソースを見てみましたが、 そのIDは使われていないようです。 簡単な方法で試してみましたが、どうでしょう。 Sub MAP住所() Dim objIE As InternetExplorer, rowno As Integer, sngT As Single rowno = 1 Set objIE = CreateObject("InternetExplorer.Application") With objIE 'Google Map起動 .Navigate "http://maps.google.co.jp/" .Visible = True 'IE待機 While .Busy Or .readyState <> 4 DoEvents Wend Do '住所をテストボックスへ入力 .document.activeElement.Value = ActiveSheet.Cells(rowno, 1).Value '送信ボタンクリック .document.forms(0).submit 'IE待機 sngT = Timer While (InStr(.document.Title, ActiveSheet.Cells(rowno, 1).Value) = 0) And (Timer - sngT < 2) DoEvents Wend '次の行 rowno = rowno + 1 Loop Until (ActiveSheet.Cells(rowno, 1).Value = "") End With Set objIE = Nothing End Sub
- 1
- 2