_Zaim関連の連載5回目(前回はこちら)は、Zaimからダウンロードしたデータの変換について解説します。
1.家計簿アプリZaimの基本事項
_これまでに触れるのを忘れておりましたが、Zaimの口座・取引の種類について解説しておきます。
(1)口座の種類
- 銀行・カード連携
- 金融機関連携によるデータ取得とユーザーによる手入力の両方が可能
- 銀行・電子マネー・クレジットカード・証券等、金融機関の別による差異はない
- 現金
- ユーザーの手入力のみできる
- 複数設定可能
(2)取引の種類
- 支出(Payment)
- 収入(Income)
- 振替(Transfer)
- 振替元・振替先の口座名が両方揃っていることが必要
- 残高調整(Balance)
- Zaimが「データ処理を行った時点において」認識している口座残高を、指定した金額だけ増減させる。金融機関連携で口座の残高を取得した際、および、ユーザーが残高調整機能を使用した際に生成される。内部処理用でユーザーには見えないが、ZaimからDLされるデータには含まれている。MFFマクロではこの取引は無視する。
このデータの振る舞いについては2020/07/12「Zaimの金融機関連携口座に過去の取引データを連結する方法(Part1)」からの連載を参照のこと。
2.Zaimからのダウンロード
_Zaim(Web版)のホーム画面右上の【設定】メニュー内にある【ファイル入出力】を叩くと↓…
…ダウンロード画面↓に遷移します。ダウンロードするデータの対象期間を指定し(文字コードは、WindowsPCのExcelのVBAマクロで処理するのが目的なのですからS-JIS一択です)、ダウンロードボタンを叩くと、画面には特に何も表示されずに、デフォルトのダウンロードフォルダにCSVファイルが保存されます。ファイル名は Zaim.YYYYMMDDHHMMSS.csv のように、ダウンロードを行った時刻で付与されます。
3.ZaimのデータをMFF形式に変換する
_普通にExcelをインストールしているWindows環境であれば、ダウンロード直後にExcelがCSVファイルを開きます。この状態でMFFマクロを動作させると、MFF形式への変換処理が始まります↓。
_なお、CSVファイルに入っているデータの状況によっては、データの再読み込みを促すダイアログが表示される場合がありますので、その際は再読み込みを指示して下さい。
_MFF形式への変換が完了したところです↓。後は、B1セルまたはD1セルのドロップダウンリストで変換先のファイル形式を選択し、同セルにセルカーソルを合わせた状態でMFFマクロを再度動作させてください。目的のOFXファイルまたはCSVファイルが出力されます。
4.Zaim形式からMFF形式へのデータ変換処理
_MFFマクロがZaimのデータをどうやってMFF形式に変換しているかを↓の図版で解説しています。もっとも、MFF形式は実はZaimのデータ形式をベースに作っているので、あまり特殊な処理はしていません。
_ただし、Zaimは「取引データの主体となっている口座の名称が必ず入る」というデータ欄が無く、取引の種類によってどのように口座名称が入るかが変わります。前回、「Zaimは検索機能で口座ごとの出納を表示できない」と申し上げましたが、その理由がこのデータ形式にあるわけです。
_似たようなデータ形式を採用している例としては「がまぐち君」や「うきうき家計簿」が挙げられますが、いずれもMFFマクロの開発においては少々の苦労が伴いました。