読み手を完全に無視した長文記事「iPhoneと過ごした500日まとめ(67,695円分の1軍アプリ達)」ですが...表の部分はExcel使って半自動で作成しています。
ユーザーフレンドリーなものではありませんが、その時に使ったマクロを付録として公開しておきます。ご自由にお持ち帰り頂き、まとめ記事作成にお役立て下さいませ。
前置き
- このマクロを利用したことによる如何なる損害も一切責任を負えません。
また、基本的なExcelマクロの使い方、動作環境の構築方法、改変の仕方などのサポートはお約束しません。 - WindowsXP(SP3)+Excel 2007で動作確認しています。97-2003版もお付けしますが動作確認していません。
- iTunes StoreやLinkShareの仕様変更により期待通り動作しなくなることがあります。(iTunes Storeはちょこちょこ仕様が変わります。)
ファイルダウンロード
Applist-20100117.zip (xlsm/xlsを同梱)
2010-04-17 iTunes Store仕様変更により、クラスモジュール::iTunesViewSoftwareの修正が必要です。微細なのでファイル更新致しません。
Private Const cVIEWSOFTWAREURL = "http://itunes. ...
↓
Private Const cVIEWSOFTWAREURL = "http://ax.itunes. ...
Private Const cUSERAGENT = "iTunes/9.0 ...
↓
Private Const cUSERAGENT = "iTunes/9.1 ...
2010-01-17更新 ... レイアウト変更に対応。
2009-12-13更新 ... 画面レイアウト変更に対応。ほぼ変更ありません。
2009-12-03更新 ... P列修正。
簡単な使い方
上記からダウンロードしたExcelファイルを開くとこんな感じ。(アプリリストシート)
このExcelファイルは、iTunes Storeからアプリ情報を自動取得するマクロを含んでいます。
iTunes Storeから情報を取得するのに必要なのは、「1.H列にアプリのURLを記入」「2.マクロの実行」の2つだけです。
1.iTunes StoreからURLを取得する
URLの取得はiTunes Storeでアプリのアイコンなどを右クリックして「リンクをコピー」です。
コピーしたURLはH列(URL)に貼り付けます。
2.マクロを実行する
あとは[アプリリストを更新]マクロを実行すれば、iTunes Storeよりアプリ情報を取得します。データが取得され、以下のような表示がされれば正常終了です。
エラー発生時には...
- iTunes Storeに接続できたけどアプリがないなどエラーが検知された ... M列にエラー内容を記載します。
- その他例外エラー ... エラーハンドリングしていないのでMicrosoft Visual Basicからエラーが出力されます。
となります。
また、このマクロは以下のような動作をします。
- 動作にはWinHttp.WinHttpRequest.5.1/VBScript.RegExp/MSXML2.DOMDocumentを利用します。
大抵の場合意識する必要はないかと思いますが念のため。 - [アプリリスト]シート内の2行目からH列が空文字になるまで(もしくは500行目)までを順番に処理します。
- H列のURLをiTunes Storeに渡して、その戻り値からデーターを解析してExcelに貼り付けています。
LinkShareアフェリエイトをご利用している方は、[設定]シートのB1セルにサイトIDを入力してからマクロを実行してください。入力されたサイトIDでアフェリエイト用のURLが生成されます。
(ただし、そのURLで正しく売上があがるかはご自身の責任において確認してください。)
3.表を利用する。
O列以降は記事を書く際に利用できるHTMLが生成されています。
O列には「アプリ名(価格)」形式のリンク表記、P列は同形式のアフェリエイトリンクです。また、Q列はcURLでアイコンを取得する時のコマンドサンプルです。
んで、S列にアプリのコメントを書けば、R列にまとめ記事でも使った表の中身が生成されます。
1 2 3 4 |
:nocontrols:nogutter" ] <tr><td><img src="/hoge/icon_001.jpg" width="50"></td><td><a href="http://itunes.apple.com/jp/app/todo/id282778557?mt=8">Todo</a></td><td>1,200円</td><td>お気に入りのTodoアプリ<br>ちょっと高い。</td></tr> <tr><td><img src="/hoge/icon_002.jpg" width="50"></td><td><a href="http://itunes.apple.com/jp/app/lcd-clock/id295737235?mt=8">LCD Clock</a></td><td>115円</td><td>デザイン抜群な卓上時計アプリ!</td></tr> <tr><td><img src="/hoge/icon_003.jpg" width="50"></td><td><a href="http://itunes.apple.com/jp/app/id320987601?mt=8">セカイカメラ</a></td><td>無料</td><td>おでこのめがねなアプリ<br>バージョンアップ間近?!</td></tr> |
こんな感じで、実は大した苦労なくまとめ記事は作られていたのでした...
改変のポイント
汚いマクロですが...簡単に改変のポイントを記載しておきます。
- アプリリストシートのO-R列はセル内に文字列連結式が入っているだけです。
記事やご都合に合わせて改変ください。 - A-N列はiTunes Storeからデータを自動取得しますが...実際はもっとデータがとれます。(バージョンや新機能など)
ここの改変ポイントはModule1::アプリリストを更新で、ArrayRK(x).rangeと.keyを指定している部分です。
x及び.rangeは列を、.keyは取得するデータを、RKMAXは取得するデータの数です。
.keyに指定する値はiTunesViewSoftware::Class_Initializeをご覧ください。 - iTunes Storeから取得したデータの解析はiTunesViewSoftware::LoadAppInfoでやっています。
iTunes Storeの仕様が変更されたらMSXML2.DOMDocument出現以降の部分を改変する必要があります。
別冊も付録も書いたので500日まとめはこれで終わり。
ご覧頂いた方、RTして下さった方、ブクマして下さった方、紹介してくださった方...皆さんありがとう御座いました!