ここから本文です

excel 初心者です。

djh********さん

2019/2/912:42:13

excel 初心者です。

VBAを使用してieからmonorate サイトからAsin コード(B074WZJ4K2)を入力してサイトを開き
最安値などの情報をひらいてexcel シート上に結果をかき出したいのですが可能でしょうか?
可能でしたらコードを教えて頂きたいです。
宜しくお願いします。

閲覧数:
32
回答数:
2
お礼:
500枚

違反報告

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

web********さん

2019/2/914:04:17

最初にmnrate.comの仕組みから

ASINから製品ページを開く場合
https://mnrate.com/item/aid/Asinコード

このURLにアクセスすれば該当ページは開きます

マクロの流れだと

基本処理は
Sub sample2()
'変数の宣言
Dim Ie As Object, ASIN As String

'Internet Explorerの準備
Set Ie = CreateObject("InternetExplorer.Application")

'Internet Explorerの表示(正常に動くとが確認できたら必要はない)
Ie.Visible = True

'ASINコードの指定
ASIN = "B074WZJ4K2"

'該当のURLにアクセス
Ie.navigate ("https://mnrate.com/item/aid/" & ASIN)

'Internet Explorerの表示待ち待機
While Ie.Busy = True Or Ie.readyState <> 4
DoEvents
Wend

'必要な処理


'Internet Explorerの終了
Ie.Quit
Set Ie = Nothing

End Sub

最安値情報の取り出しには"要素"を特定してinnerTextで取得すれば良いのだけど

Asin コード(B074WZJ4K2)の最安値表示のHTMLコードは
<div class="price new_price_color _btn_size_style item_conditions_data_box">¥12,934</div>


特定できそうな情報はClass名
price だけで指定すると”¥ 最安値” (最安値価格の直上の表示)
new_price_colorだけで指定すると”新品” (最安値価格の左側の表示)
が最初に該当するので

Ie.document.getElementsByClassName("price new_price_color")(0).innerText

price と new_price_color の両方のクラスを持つ最初の要素のinnerTextとして指定できる

抽出先のセル = Ie.document.getElementsByClassName("price new_price_color")(0).innerText

で指定したセルに価格(”¥12,934”)が表示できます

後は基本形の改修でお望みの処理に作り変えれば良い

  • 質問者

    djh********さん

    2019/2/916:15:18

    回答ありがとうございます!
    もう少し教えてください。
    指定したセルに価格(”¥12,934”)が表示できます
    の件ですが

    sheet1 のA1セルに結果を出したい場合は

    Sheets("sheet1").Select
    Range("A1").Select
    してその次の書き出しコードを教えてください。
    宜しくお願いします。

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

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

2019/2/9 18:36:33

有難うございます。
助かりました。

ベストアンサー以外の回答

1〜1件/1件中

say********さん

2019/2/912:45:43

金取れるレベルじゃん

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

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

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

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

閉じる

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

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

閉じる