まえのブログで、ExcelでHTMLを読んだ場合を示したので、今度は、XMLで読んだ場合を示してみます。これで読めれば、PERを出すだけなら、DOMを使わなくてもいいじゃん。。ってことなんですが。。
今回は、東証にサンプルとしてあるXBRL
ここ http://www.tse.or.jp/listing/xbrl/japanese/1_xbrl_demonstration_program/13_xbrl_instance.html
で、やってみました(実際には積水ハウスの17年度を読み込みました)。
なお、今回は前と違い、Excel 2003でやっています
それ以前のバージョンと2003では、XMLの扱いが違い、2003のほうが良くなっています。なので、それ以前のバージョンの人は、こう行くとは限りません。というか、いかないでしょう。
ExcelでXMLを読み込むには、ファイル→開くでOKです。
ネット上にあるものを開く場合、「ファイルを開く」ダイアログで、ファイル名にそのURLを入れます。
今回の場合積水ハウスの17年のXBRL
http://www.tse.or.jp/listing/xbrl/instances/tse-ed-ci-1928-2005-01-31.xbrl
といれることになります。
そうすると、以下のダイアログが現れます。
![](https://www.geocities.jp/xmldtp/ex_xmlread1.jpg)
上の2つ、どちらを選択してもかまいません。
最後のXMLソース作業ウィンドウを選択してしまうと、シート上には、読み込まれず、XMLソース作業ウィンドウに読み込まれます。
マクロの場合、HTMLのように
Workbooks.Open Filename:= ファイルまたはURL名
の場合は、上記ダイアログで、「読み取り専用のブックとして開く」で選択した形になります。
上のほうの形で読み込みたい場合は
Workbooks.Open Filename:= ファイルまたはURL名,LoadOption:=xlXmlLoadImportToList
と、ロードオプションを付けます。
なお、「ファイルまたはURL名」のところには、これから読み込むURL名を入れてください。
どちらの場合も読み込んだら、PERの計算には、「一株あたり当期純利益」が必要ですので、これを英語に直した「NetIncomePerShare」っていう言葉が入っているところを見つけて、みつかったら、その列を、ずーっと下の行までみていってください。
下のほうに、一株あたり当期純利益の値が入っています。
ですが。。
見ていただくと分かるように。。。
うーんDOM使おう(^^)っていう気になりますよね。こちらの場合は。。
(HTMLの場合は、直接読み込んだほうが、早そうだけど)