こんにちは、ippan_seです。
今回はExcel VBAを使ってXBRLからデータを取得する方法を紹介します。
ボリュームが大きくなりそうなので前編と後編の2回に分けます。

やりたかったこと
それは「 大量のXBRLを1クリックでエクセルファイルに変換する 」です。
巷のフリーソフトでXBRLの解析ツールがありますが、どれも手動で1ファイルずつ読み込むもので 非常に時間がかかります。
例えば、10社分の決算書を3年間分読むならば、
1年に4つの決算書 × 3年分 × 10銘柄 =120
と120ファイルも手作業が必要です。
そんなことやりたくないので自作しちゃいました。

そもそもXBRLとは
eXtensible Business Reporting Languageという XML言語 で書かれた決算情報ファイルです。この中に売上高や経常利益などデータが記載されています。
XMLなのでタグ構造をしており、それぞれのタグには タグ名 コンテキスト名 データ があります。
以下が例XBRLのタグの1つです。 
この例ですと、タグ名は jpcrp_cor:NetSalesSummaryOfBusinessResults (売上高)
コンテキスト名は contextRef="CurrentYearDuration" (今年度)
データが 262324000000 です。(値)

そして最大の特徴ですが全てのタグは タグ名 コンテキスト名 の組み合わせで 一意に識別 されます。つまり、上記例ですと タグがjpcrp_cor:NetSalesSummaryOfBusinessResults で、コンテキストが contextRef="CurrentYearDurationという組み合わせは1つしか無いのです。
希望のデータを取得するためにこの特徴を利用します。

それでは前編は以上です。
後編では取得手順の具体的な方法を紹介します。