« エクセルのファイルサイズの縮小の方法。(画像がベタベタ貼ってるファイル編) | トップページ | 英単語javascript »

アマゾンの購入履歴をエクセルマクロで、一括取得

amazon.comだと、購入履歴(注文履歴)をcsvで取得(ダウンロード)できるものの、amazon.co.jpだと取得できない。

アマゾンの購入履歴をエクセルマクロで、一括取得できるツールを作成。
(マクロの知識が少し必要です。下記のURLは改行をしてますが実際は改行不要。)

●その1

ある年の購入履歴の数を確認

https://www.amazon.co.jp/gp/css/order-history/ref=oss_pagination?
ie=UTF8&search=&startIndex=0&orderFilter=year-2012

→ 「2012年に確定された63件の注文」 →63

●その2

URLを手作成

年= orderFilter=year-2012

通番= startIndex=0 ・・・63件なら、0から60。

https://www.amazon.co.jp/gp/css/order-history/ref=oss_pagination?
ie=UTF8&orderFilter=year-2012&search=&startIndex=0
https://www.amazon.co.jp/gp/css/order-history/ref=oss_pagination?
ie=UTF8&orderFilter=year-2012&search=&startIndex=10
https://www.amazon.co.jp/gp/css/order-history/ref=oss_pagination?
ie=UTF8&orderFilter=year-2012&search=&startIndex=20
https://www.amazon.co.jp/gp/css/order-history/ref=oss_pagination?
ie=UTF8&orderFilter=year-2012&search=&startIndex=30
https://www.amazon.co.jp/gp/css/order-history/ref=oss_pagination?
ie=UTF8&orderFilter=year-2012&search=&startIndex=40
https://www.amazon.co.jp/gp/css/order-history/ref=oss_pagination?
ie=UTF8&orderFilter=year-2012&search=&startIndex=50
https://www.amazon.co.jp/gp/css/order-history/ref=oss_pagination?
ie=UTF8&orderFilter=year-2012&search=&startIndex=60

●その3

「sample.xlsm」をダウンロード

(エクセル2010、IE8で、動作確認。「sample.zip」→「sample.xlsm」)

●その4

以下のマクロを実行(実行前にIE起動して、amazonにログインしておく)

Option Explicit
Public Sub getOrderReports()
    Dim ie As InternetExplorer
    Set ie = New InternetExplorer
    Dim iTg
    Dim iRow As Integer
    Dim setir As Integer
    setir = 3
    ie.Visible = True
    For iRow = 4 To 7 'URLが書いてある、シートの行
        ie.Navigate Sheets("Sheet1").Cells(iRow, 2).Value 'URL
        Do Until ie.readyState = READYSTATE_COMPLETE
        Loop
        For Each iTg In ie.Document.all
          If iTg.tagName = "H2" Then
            Sheets("Sheet2").Cells(setir, 1).Value = iTg.innertext
          End If
         
          If iTg.tagName = "SPAN" Then
            If iTg.classname = "item-title" Or iTg.classname = "price" Then
            
            Sheets("Sheet2").Cells(setir, 2).Value = iTg.classname
            Sheets("Sheet2").Cells(setir, 3).Value = iTg.innertext
            
            setir = setir + 1
            End If
          End If
        Next iTg
    Next iRow
    Set ie = Nothing
End Sub

※参照設定で、InternetExplorerを使用可能にしてください。

|

« エクセルのファイルサイズの縮小の方法。(画像がベタベタ貼ってるファイル編) | トップページ | 英単語javascript »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/169199/57390898

この記事へのトラックバック一覧です: アマゾンの購入履歴をエクセルマクロで、一括取得:

« エクセルのファイルサイズの縮小の方法。(画像がベタベタ貼ってるファイル編) | トップページ | 英単語javascript »