VBAでIEを操作してtsutaya onlineで発売予定の作品をチェック
新しい順に並べ替えるを実装中に以下のエラーメッセージが発生しました。
実行時エラー 424
オブジェクトが必要です。
Private Sub waitbrowsing(ie As InternetExplorer, Optional findstring As String = "") Dim founpos As Long Do While foundpos = 0 Do While ie.Busy Or ie.readyState < READYSTATE_COMPLETE DoEvents Loop foundpos = 0 On Error Resume Next foundpos = InStr(ie.document.body.innerText, findstring) On Error GoTo 0 DoEvents Loop End Sub Public Sub main() Dim ie As InternetExplorer Set ie = CreateObject("internetexplorer.application") ie.Visible = True ie.navigate "http://store-tsutaya.tsite.jp" waitbrowsing ie Dim htdoc As HTMLDocument Set htdoc = ie.document htdoc.getElementsByName("i")(0).Value = "201" htdoc.getElementsByName("k")(0).Value = "ストライクウィッチーズ″" htdoc.getElementsByClassName("search_keyword-btn")(0).Click waitbrowsing ie, "キーワード[" & Datasheet.Cells(row_search_condition, col_search_keyword).Value & "]を含む検索結果" If InStr(htdoc.body.innerText, "お客様がお探しの商品は見つかりませんでした") > 0 Then MsgBox "検索した商品が見つからなかったため処理を終了します" Exit Sub End If Dim anchorsort As HTMLAnchorElement For Each anchorsort In htdoc.getElementsByTagName("A") If InStr(anchortsort.innerText, "新しい順") > 0 Then anchorsort.Click waitbrowsing ie Exit For End If Next End Sub ```エラー発生コードは下記です。 waitbrowsing ie, "キーワード[" & Datasheet.Cells(row_search_condition, col_search_keyword).Value & "]を含む検索結果 オブジェクトが必要というエラーメッセージからオブジェクトのコードが入力ミスでオブジェクトが 見つからないと原因だと判断しコードを確認したが間違いを見つけられない。 参考書籍 https://tatsu-zine.com/books/excel-vba-ie OS windows10 excel2016 ie11
コードは「コードの挿入」で記入してください。
ご迷惑をおかけしております。コードをコードの挿入に修正しました。
よろしければ、ご教示をお願い致します。
修正されていないようですので確認お願いします。
それから、どこのコードで実行時エラーが発生していますか?
度々申し訳ございません。
Datasheetオブジェクトがワークシートとして定義されていないことに起因するエラーだと思われます。
https://cyber-kei.com/2019/03/17/ie%E5%88%B6%E5%BE%A1%EF%BC%9Atsutaya/
どこからとってきたのかは必ず書きましょう。
あなたが作ったものではありません。「作っています」もやめましょう。
Datasheetは掲載のコード以外のところで定義されているのでしょうか?
ご指摘ありがとうございます。
掲載のコード以外で定義はしておりません。
TanakaHiroakiさんのご指摘の通りかと思います。シートを定義するか別の方法でキーワードを定義すれば良いでしょう。
あなたの回答
tips
プレビュー