dポイントプレゼントキャンペーン実施中!

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列にある住所を読み込んで、グーグルマップに表示するスクリプトになります。
どう直して良いのか、皆目わかりません

御指南願います

A 回答 (11件中11~11件)

こんにちは。


エラーの原因を確認するために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
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています