ここから本文です

excel vbaでのie操作について質問です。 初心者ですが、勉強のためにツールを使っ...

mef********さん

2019/7/400:44:41

excel vbaでのie操作について質問です。
初心者ですが、勉強のためにツールを使っている際にどうしても解決できない点があります。
ゲオの通販サイトにて検索ボックスにExcel(B9セル)に入

力されている中古ゲームのタイトルを入れて、検索を実行するという簡単な操作をしたいと思っています。

他のサイトでは以下のようなコードで実行されるのですが、このサイトでは何故か実行出来ません。
ちなみに①、②それぞれを操作した場合はキチンと作動します。
なにが原因なのでしょうか。
お分かりになる方がいらっしゃいましたら、是非ご教授ください。
よろしくお願いします。

Sub test_geo()
Dim ie As InternetExplorer
Set ie = getIE("ゲオ公式通販サイト/ゲオマート")
Dim htdoc As HTMLDocument
Set htdoc = ie.document

'①検索BoxにExcelで指定した中古ゲームのタイトル名を入力
Dim searchBox As IHTMLElement

For Each searchBox In htdoc.getElementsByTagName("input")
If InStr(searchBox.ID, "neoHeaderSearchKey") > 0 Then
searchBox.Value = Range("B9").Value
Exit For
End If
Next

'②検索Boxの横の検索マークをクリック
Dim searchBtn As IHTMLElement

For Each searchBtn In htdoc.getElementsByTagName("input")
If InStr(searchBtn.className, "neoHeaderSearchNormal_submit_") > 0 Then
searchBtn.Click
Exit For
End If
Next
end sub

閲覧数:
19
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

hot********さん

2019/7/403:09:02

こんなでしょうか。

Sub sample()
Dim ie As Object
Dim frames As Object
Dim doc As Object
Set ie = CreateObject("InternetExplorer.Application") 'ie
ie.Visible = True 'ie表示
ie.Navigate "https://ec.geo-online.co.jp/shop/"
Do While ie.Busy Or ie.ReadyState <> 4: DoEvents: Loop '表示完了待ち
ie.document.getElementsByTagname("iframe")(0).document.getElementByID("neoHeaderSearchKey").Value = "ほげほげ"
ie.document.getElementsByTagname("iframe")(0).document.getElementByID("headerForm").submit
'ie.Quit 'ie終了
End Sub

質問した人からのコメント

2019/7/4 12:54:26

なるほど。formを指定してsubmitすればよかったのですね。
検索ボタンを如何にして押せるのかしか頭にありませんでした。勉強不足です。

ご丁寧にありがとうございました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる