VBAでMWSを使用する方法

ヘッダー広告
スポンサードリンク

AmazonマーケットプレイスWebサービス(MWS)を呼び出してデータを取得する方法をご紹介致します。
MWSを使用することによって、Amazonへ出品している方にとって多くの作業を自動化や効率化を図ることが可能となります。
JavaやPHP、C#などはサンプルコードがいくつか公開されておりますが、VBAでは情報が少ないため、今回の記事がVBA使いの方の参考になればと思い公開させていただきます。

VBAでMWSを使用する

前提条件

Amazon MWS APIを使用するには、Amazon MWSの大口出品の出品者であり、Amazon MWSに登録されていることが必要です。
登録することで、AWSアクセスキーID、秘密キーが作成されます。
これとアマゾン出品者ID(セラーID)を使用することでMWSが使用可能となります。

登録方法については、公式サイトをご参照ください。
Amazonマーケットプレイス Web サービス (Amazon MWS) ドキュメント
Amazon MWS ドキュメント » 開発者ガイド » Amazon MWS開発者ガイド » Amazon MWS 利用への登録

参考サイト紹介

今回ご紹介するプログラムは、『Mr Xの徒然なるブログ』の『(22)MWS実践-商品(最低価格)-Excel-VBA』という記事を参考にさせていただき、いくつかの不具合を修正したり、クラス化して汎用性を高めております。
上記ブログはすでに更新が止まっているようですので、MrX様に代わり今後VBAでMWSを使用する方のお役に立てればと思い記事にさせていただきました。
貴重な情報を提供いただいているMrX様に感謝したいと思います。

サンプルプログラム

ではVBAでMWSを取得するサンプルプログラムを以下に記載致します。

今回は、フィルフィーメント在庫を取得するプログラムをご紹介したいと思います。
MWSの公式API使用方法については、こちらをご覧ください。
Amazonマーケットプレイス Web サービス (Amazon MWS) ドキュメント
Amazon MWS ドキュメント » APIリファレンス » フルフィルメント在庫 – バージョン2010-10-01 » ListInventorySupply

VBAでXMLの各内容を指定して出力する方法についてはこちらの記事をご参照ください。

以下にプログラムをご紹介致しますが、プログラムの行数が多いので、初期表示を非表示にさせていただいております。
参考とされる際には、表示切替をクリックして表示させてください。

メインモジュール

MWSを操作するメインモジュールになります。

メインモジュールの表示切替

ハッシュ処理するモジュール

外部ライブラリでハッシュを操作するモジュールになります。

ハッシュ操作モジュール表示切替

URLエンコード処理するモジュール

外部ライブラリでエンコードするモジュールになります。

URLエンコードモジュール表示切替

MWS操作クラス

MWS操作を行うAbstractクラスになります。
様々なMWS APIを活用できるように汎用性を高めています。
クラス名は、『AbstractCallApi』を設定してください。

MWS操作クラス表示切替

ListInventorySupply操作クラス

ListInventorySupplyのAPIを実際に操作するクラスになります。
クラス名は、『ListInventorySupply』を設定してください。

ListInventorySupply操作クラス表示切替