長年、家計簿ソフトとしてMicrosoft Moneyを使ってきた。最初はExcelで自分で作ろうとしたが、けっこうめんどくさいのでフリーウェアを試してみて、なんかちょっと物足りない、とか思っているうちに、結局お金を出してこのソフトを買った。直接このソフト向けのデータをダウンロードできる金融機関のサイトも多く、私はクレジットの明細をダウンロードできるので重宝していた。
しかし、そのMicrosoft Moneyは開発が終了した。Microsoftのサポートも終了したが、金融機関からのデータのダウンロード機能は使えていたのでずっと利用していたが、それも2011年1月で終了するという。ちょっと困った。いや、ちゃんと明細と家計簿があっているか、目視で確認すればいいのだが、なんとかシステマチックにできないだろうか。
そう言えば、クレジット明細の画面からMoney用にファイルをエクスポートするだけでなく、CSV形式でもダウンロードできるのだった。一応毎月請求額が確定したらCSVファイルはダウンロードしているが、それを何かに利用するということはなかった。こいつをなんとかできないかな、と思ってやってみた。
MoneyにエクスポートされるファイルはOFXという拡張子のついたSGMLのファイルだった。今まで直接中を覗いたことはなかったので初めて知ったのだが、テキストファイルならファイル形式を解析して自動変換ができるはずである。ということで、数年ぶりにExcelのVBAでマクロを組んだ。
久しぶりだったのでいろいろ忘れていた。いやはや、Windowsでのプログラミングというのはなかなか融通がきかない。いっそのことPerlか何かで処理してしまいたかったが、Excel上で完結させたかったので、CSVファイルをダブルクリックして開き、個人用マクロブックのCSV→OFX変換マクロを実行すれば、ファイル形式を変換して「名前をつけて保存」し、Moneyを起動して取り込むところまでVBAでゴリゴリと書いた。何とか全部自動化できた。
これで他のソフトに乗り換えないで済むのだ。しかしプログラム書いたの、何ヶ月ぶりだろう。誰か仕事を恵んでください。