CoCoのYDブログ

心に思い浮かんだことを少し掘り下げ発信します

【VBA】T●UTAYAさんでの商品検索

こんにちは

今回はVBAで商品を検索するプログラムを作成してみましょう。

検索するサイトはT●UTAYAさん

有名ですよね。

最近はAmazonPrimeに浮気しておりますが、CDを借りるときは利用させていただいています。

 

サンプルプログラム

Sub 検索()
    Dim ie As InternetExplorer
    Dim textInput As HTMLInputElement
    Dim form As HTMLFormElement

    Set ie = CreateObject("InternetExplorer.Application")
    ie.Visible = True
    ie.navigate "http://store-tsutaya.tsite.jp/index.html/"
    Do While ie.Busy Or ie.readyState < READYSTATE_COMPLETE
        DoEvents
    Loop

    Set textInput = ie.document.getElementById("searchText")
    textInput.Value = "君の名は"
   
    Set form = ie.document.forms("kSearch")
    form.submit
End Sub

 1行目:プロシージャの開始

2~3行目:変数の宣言

4行目:変数formをHTMLFormElement型で宣言します

5行目:なし

6~11行目:省略します。URLが変更されてるので注意

12行目:なし

13行目:IDに"searchText"が入ったドキュメントを格納します

14行目:格納されたドキュメントの値を"君の名は"に設定します

15行目:なし

16行目:IDに"kSearch"が使われたフォームを格納します。

17行目:フォームを送信します

18行目:プロシージャの終了

 

解説

今回はHTMLFormElement型を使用しています。

これはフォームをオブジェクトに格納するために使用しています。

下のはソースコードです。

f:id:takataka2743:20180912221646j:plain

<form id="kSearch" ~となっているため

Set form = ie.document.forms("kSearch")

でフォームを格納しております。

フォームの格納はgetElement~としては使わないんですね

そして、foem.submitでフォームの送信です。

 

ちなみに私は君の名は。がすきで4回ほど観ましたね。

入れ替わり自体はよくある話でしたが、その後の展開が予想外でしたw

 

(検索結果にAVが紛れ込んでいるのも予想外でした。)