MFFマクロV2.51では、シンプル家計簿MoneyNote(←当Blogの記事集)に、バックアップ機能を経由してデータをインポートできるようになりました。
- 2024/01/23 シンプル家計簿MoneyNoteにデータをインポートできるようにしたぜ(データ修正篇)
- 2024/01/24 シンプル家計簿MoneyNoteにデータをインポートできるようにしたぜ(データ追加・削除篇)
しかし、本来できないはずのことを強引にできるようにしたので、これまでのMFFマクロとは少々違った振る舞いをします。そこで、その中身について備忘を兼ねて解説しておきます。
1.データの修正・削除
2024/01/23の記事でデータの修正について、2024/01/24の記事の末尾でデータの削除について述べましたが、文章と画面写真だけでは判り難いので、以下に図解します。
MFFマクロ(V2.51以降)は、明細データを修正・削除しても、カテゴリーの定義情報を失わないように、MoneyNoteに設定されている全てのカテゴリーの定義情報をバックアップデータに残すようになっています。ただし、その処理は、MoneyNoteのバックアップファイルをMFFマクロで読み込んだ後に出現するダイアログで【はい】を選んで、明細データをMFF形式データに変換する際に同時に実行します。バックアップデータを直接 修正・削除する方法もありますが、筆者としてはお奨めできません。
そして、弄ったMFF形式データをMoneyNote向けに変換すれば、バックアップデータに明細データを再び連結してファイル出力します。そのバックアップファイルをMoneyNoteアプリに復元すれば、データの改変が反映されます。
2.データの追加
2024/01/24の記事の内容を↓に図解しました。
MoneyNoteの既存の明細データを弄らずに別のデータを追加する場合は、バックアップデータをMFFマクロで読み込んだ後に出現するダイアログで【キャンセル】を選んで、中身を改変しないようにします。そしてワークシート「MoneyNoteBK」と同じブックの新規ワークシート(↑の図版における「Sheet2」です)にユーザーが用意したMFF形式データを持ってきて、その上でACF機能を動作させます。ACFは、起動動作の際に「MoneyNoteBK」というワークシートが存在する場合に限り、カテゴリーリストをMoneyNoteBKの中身を元に自動生成する機能を実装しています。後は、追加しようとしているMFF形式データのカテゴリーを、MoneyNoteに定義されているカテゴリーに手動で変換して下さい。
その作業が終わりましたらACFから抜けて、MFFマクロでMoneyNote向けのバックアップファイルを出力させると、バックアップファイルの末尾に明細データが連結されます。MoneyNote側でそのファイルを復元すれば、データの追加は完了です。
3.データ変換の処理内容
2022/08/18 シンプル家計簿MoneyNote(3/3) データ変換篇では、MoneyNoteの「PC用データの出力」という機能で得たCSVファイルをMFF形式データに片道変換する件を解説しました。今回は、NoneyNoteのバックアップファイルとMFF形式の双方向変換を実装しています。
MoneyNoteは、ご承知のとおり口座の概念が無く、従って振替取引もサポートしていません。そのため、明細データの変換処理そのものは極めて単純です。なお、MoneyNoteは、ユーザーが自由に入力できるのはメモ欄だけなので、(口座名/)(品名)(@店名)(※備考) の形式、すなわち拡張MFF書式で入力しておくことで、MFF形式に変換した際に然るべきデータ欄に分解して格納するようにしてあります。
また、カテゴリーについても、MoneyNoteは本来は単一階層ですが、アプリ内で"費目甲/費目乙"の形で定義しておけば、費目甲・費目乙の二階層構造になっているMFF形式データを変換しても、然るべきカテゴリー名称にマッチするようにしています。逆も然りです。
実のところ、筆者はMoneyNoteへのデータインポートは結構簡単に実装できるだろう、と踏んでいました。しかし…いざやってみると、不具合が出るわ出るわで大変な思いをしました。MFFマクロのバージョンがV2.50を飛ばしてV2.51になっているのは、MoneyNote関係の処理を一から作り直したからです。
さて、ここまでやってみたわけですが、一体何人の方がこの機能を活用してくれるのだろう…ぜひフィードバックをいただければ嬉しいです。