GOODEGG.JP

『いい感じ!』(good egg!)なモノやコトをご紹介。
全力で。たまに。たぶん。

App StoreからiPhoneアプリ情報を取得するExcel VBAサンプル

「ExcelでiPhoneアプリ情報をまとめる」ってあんまりないシチュエーションかとは思いますが...いざやるとなるとiTunes Storeが文字列をコピペできないので凄く面倒です。そこで以前に掲載したPHP版のサンプルをExcel VBAに書き換えたので共有します。ちょっと改造すると特定アプリのアップデートチェッカーになるかもしれません。

ファイルダウンロード

2009-12-03追記 iPhoneと過ごした500日まとめ(付録:アプリ表の作り方)の記事で最新版を配布しています。

2009/09/21 Release:0.1.0-sample(010-sample.zip 89.3KB)

  • テストした環境は以下の通りです。
    • Windows XP SP3(Parallels Desktop 4.0)
    • Microsoft Excel 2007
      2003以前は環境ないので確認できません。動かなければごめんなさい。
    • 以下のコンポーネントを利用しています。そのため以下のコンポーネントがない、バージョンが違う場合、動作しない可能性があります。(参照設定の方が実行速度早いですが、配布時の参照設定の説明が面倒なので...)
      • Scripting.Dictionary
      • VBScript.RegExp
      • WinHttp.WinHttpRequest.5.1
      • ADODB.Stream
      • MSXML2.DOMDocument
      • ScriptControl
  • ファイル内に含まれるファイルは以下の通りです。
    • appinfo.xls ... マクロを含む.xlsファイル
    • appinfo.xlsm ... マクロを含む.xlsmファイル(上記と同内容)

注意事項

  • 上記の環境以外での動作はしない可能性があります。
  • iTunes Storeの仕様変更によりご利用できなくなる可能性があります。
  • いつも通りサンプル扱いなのでエラー処理、文字コード変換処理(ADODB.Streamでやってます)の検証が甘いです。その点、ご了承ください。
  • サンプルの使用および使用結果について、使用者および第三者が直接的および間接的ないかなる損害に対しても、制作者は一切の責任を負いません。

概要・使い方

概要

このサンプルはiTunes StoreをWebスクレイピングしてアプリ情報を取得するサンプルです。大量のアプリ情報をまとめて取得したいとき、iTunes Storeの文字列を手打ちしたくないときなどに利用できます。リリース日、バージョンなどを照らし合わせるよう改造すれば、アップデートチェックもできるかと思います。

モジュール構成

  • Sheet1 ... サンプルデータを含むシート
  • Module1 ... 「簡単な呼び出しサンプル」及びSheet1を使った「アプリ情報取得」を含む標準モジュール
  • iTunesViewSoftware ... iTunes Storeからアプリ情報を取得するクラスモジュール

使い方1 : 簡単な呼び出しサンプル

マクロ::簡単な呼び出しサンプルにはiTunesViewSoftwareクラスの基本的な呼び出しサンプルを記載してあります。
とりあえずマクロ::簡単な呼び出しサンプルを実行してください。以下のようなメッセージボックスが表示されれば正常に動作してます。

iTunesViewSoftwareの使い方はこんな感じ。

  1. .LoadAppInfoメソッドでアプリID(もしくはアプリ情報ページのURL)を指定して呼び出し。0で成功。
  2. .getAppinfoメソッドでScripting.Dictionaryオブジェクトを取得。
  3. 上記オブジェクトのkeyを指定して情報を表示。
    キーの一覧は以下の通り。
    • アプリID ... ID
    • 作者 ... SELLAR
    • アイコンのURL ... ICON_W100_URL
    • iTunesへのURL ... URL
    • LinkShareアフェリエイトURL ... LINKSHARE_URL
    • アプリ名 ... NAME
    • カテゴリ ... CATEGORY
    • リリース ... REREASED
    • 販売業者 ... SELLAR2
    • コピーライト ... COPYRIGHT
    • バージョン ... VERSION
    • サイズ ... SIZE
    • 金額 ... PRICE
    • レーティング ... RATING
    • 新機能 ... NEWFEATURES
    • 制限 ... LIMITATION
    • ウェブサイト ... WEBSITE
    • サポートサイト ... SUPPORTSITE
.LoadAppInfoメソッドの前に、.setLinkShareIdプロパティにリンクシェアアフェリエイトのIDを渡して、アフェリエイトURLを生成することも可能です。

使い方2 : 簡単な呼び出しサンプル

こちらはアクティブなシートのA列に記載されたアプリID(もしくはURL)を読み取って、B列以降に値を書き込みます。尚、念のため1行毎に0.5秒の間隔を空けています。

実行前


実行後

サンプルは29行目にKindle(日本のストアでは買えない)のアプリIDを入れているので、最後は必ずエラーになります。

メモ

元にしたPHP版のサンプルも十分汚いですが、VBAはExcel 2000時代以来なので汚さが増しているかと思います...何卒ご容赦ください。とりいそぎ共有まで。
以下はクラスモジュールのソースです。

Return Top