前提・実現したいこと
vbaで指定URLにアクセスし、指定の入力エリアにセルの内容を転記して検索ボタンを押すようにしています。
同条件で何度も試行しているのですが、以下のエラーメッセージが出たり、うまくいったりと一定の結果になりません。
転記するセルの内容はいじってません。また、数式が入ったものでもありません。
仕事で使っているwebサイトおよびエクセルなのでシート名やURLは伏せています。
発生している問題・エラーメッセージ
実行時エラー '91' オブジェクト変数またはWithブロック変数が設定されていません。
Dim objIE As InternetExplorer
Dim ieDoc As HTMLDocument
Dim obj As Object
Dim inputText As Object
Dim textButton As Object
Sub IE_Serch()
'Internet Exploreを立ち上げ
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
'URLを指定
objIE.Navigate2 "URL"
'Webサイトの表示待ち
While objIE.Busy Or objIE.readyState <> READYSTATE_COMPLETE
DoEvents
Wend
'HTML型ドキュメントに収録
Set ieDoc = objIE.document
'ボタンを探して押す
For Each obj In ieDoc.getElementsByTagName("a")
If obj.innerText = "ボタン1" Then
obj.Click
Exit For
End If
Next
'Webサイトの表示待ち
While (objIE.Busy = True Or objIE.readyState <> 4)
DoEvents
Wend
'指定入力エリアを探して指定セルの内容を転記
For Each obj In ieDoc.getElementsByTagName("input")
If obj.name = "name" Then
obj.Value = Sheets("sheet1").Range("A6")
End If
Next
'検索ボタンをクリック
Set textButton = ieDoc.getElementsByTagName("button")(1)
textButton.Click
'オブジェクト参照を解除
Set objIE = Nothing
Set ieDoc = Nothing
Set obj = Nothing
Set inputText = Nothing
Set textButton = Nothing
End Sub
vba
試したこと
textButton.Clickで毎度引っかかり、冒頭のエラーが発生しますが、全く同条件で再度動かすと問題なく動いたり、さらにもう一度動かすとまたエラーが出たりします。
初心者ですのでいくつかサイトを参考に作成しましたが、このエラーに対する有効な解決法を見つけられずに詰んでおります。
どうか識者の方々のお知恵を借りられればと思います。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー