私はこのサイトから緯度および経度を検索しようとしている3kのアドレスを持っています http://www.latlong.net/これまでのところ、そのサイトにアドレスが返されない場合は、手動で「OK」ポップアップボタンをクリックして次のアドレスに対して正しく動作させる必要があります。スクリプトが終了するのを待ち、IEのポップアップで「OK」をクリックする方法
また、「FIND」ボタンをクリックした後に緯度を長くするには約2秒かかるので、F8を使用して各行をステップ実行していますので、緯度が長くなるまでどのようにスクリプトを一時停止できますかわかりません。
Sub LATLONG()
Dim i As Long, fI As Long
Dim ie As New InternetExplorer
Dim strURL As String
Dim html As HTMLDocument
Dim goBtn
Dim btnInput
strURL = "http://www.latlong.net/"
With ie
.Visible = True
.navigate strURL
While .readyState <> 4
DoEvents
Wend
For i = 2 To FD.Range("A" & Rows.Count).End(xlUp).Row
If FD.Range("H" & i) = Empty Or FD.Range("I" & i) = Empty Then
.document.getElementById("gadres").Value = FD.Range("F" & i) & ", " & FD.Range("D" & i)
Set goBtn = ie.document.getElementsByClassName("button")
goBtn(0).Click
While .readyState <> 4 '<~ This doesn't works
DoEvents
Wend
' If .document.getElementById("lat").Value = "" Then SendKeys ("{ENTER}") ' Tried to do this but this doesn't works as well
FD.Range("H" & i) = .document.getElementById("lat").Value
FD.Range("I" & i) = .document.getElementById("lng").Value
Debug.Print FD.Range("H" & i) & " = " & .document.getElementById("lat").Value & "," & FD.Range("I" & i) & "=" & .document.getElementById("lng").Value
.document.getElementById("lng").Value = ""
.document.getElementById("lat").Value = ""
End If
Next i
End With
ie.Quit
Set ie = Nothing
MsgBox "Process Complete"
End Sub
緯度を長くする他の信頼できる自動化された方法はありますか?