2024/01/23

シンプル家計簿MoneyNoteにデータをインポートできるようにしたぜ(データ修正篇)

 前回公表したMFFマクロV2.51で、シンプル家計簿MoneyNote(以下、MoneyNoteと呼びます)のバックアップファイルをでっち上げて、データをインポートできるようになりました。その大まかな手順は

  1. スマートフォンのMoneyNoteアプリに入力されている全データをバックアップファイルとして出力
  2. バックアップファイルをWindows PCのExcelに読み込み、PC側でデータを修正・追加・削除
  3. 全データをバックアップファイルとして出力し、スマートフォン側に持ち込んでアプリで復元する

 このようになります。

 今回は、Android版MoneyNoteアプリに入力済のデータを修正する方法を解説します。次回は、アプリに入力済のデータに、取引データを追加・削除する方法を解説する予定です。

1.MoneyNoteアプリからバックアップデータを出力する

 例として、2024年元旦から1/7まで入力した↓画面①のようなデータを修正する方法を解説します。↓画面②は、このデータに設定してある「固定収支」で、1~3月の毎月27日に60,000円+2,000円の支出が発生する(27日が土休日の場合はその直前の平日になる。だから↓画面①では1/26に発生している)、と入力してあるものとします。

 バックアップデータは、↓画面③の【バックアップデータを出力する】をタップして…

MoneyNoteのデータをバックアップする

 …↑画面④で【メール等で送る】を選択すると、Androidの標準共有メニューが出現します(↑画面⑤)。ここでは、データをスマートフォンの外へ持ち出す手段としてDropBoxを選択し、↑画面⑥のように出力先のフォルダを選択してアップロードします。バックアップファイルのファイル名は、標準で backup_kakeibo_YYYY_MM_DD_hh_mm_ss.csv という形式になります。エンコードはUTF-8(BOM無し、改行コードはLF)で、Excelで普通に開くと文字化けします。

 ところで、今回、バックアップファイルを出力した時点で、MoneyNoteアプリに設定しているカテゴリーは以下のようになっています↓。とりあえず、気に留めておいてください。

MoneyNoteに設定したカテゴリー

2.MFFマクロでMoneyNoteのバックアップファイルを読み込む

 次に、Windows PC側でExcelを起動し、空のワークシート上でMFFマクロ(V2.51以降)を動作させると、読み込むべき家計簿アプリのデータファイルを指定するダイアログ↓が出現します。PCのDropBoxのフォルダに格納されたバックアップファイルを指定します。

MFFマクロでMoneyNoteのバックアップファイルを読み込む

 MFFマクロは、そのファイルを読み込むと、A1セルが"inputDate"であることをもって「MoneyNoteのバックアップデータだ」と判断して、↓のようなダイアログを表示します。なお、読み込んだデータは、「MoneyNoteBK」というワークシートに書き込まれます。

 ところで、MoneyNoteのバックアップファイルはどのような構造になっているのか、と言いますと…

 ↓の画面の1行目はタイトル行、2~7行は固定収支データです。前述したように、サンプルでは1~3月の毎月27日に家賃60,000円+管理費2,000円の支出が発生する(1/27は土曜日なのでその前日の1/26になっている)としているため、1/26、2/27、3/27にそれぞれのデータが入っています。J列以降は固定収支データのみが使用する欄であり、MFFマクロはJ列に何らかのデータが入っていると「固定収支データだ」と判断し、何らの処理も行いません。

 8~14行目は「MoneyNoteに登録されてはいるが、取引データとしては使用されていない」未使用カテゴリに関する定義情報が入っています。15行目以降は取引データが昇順で並び、カテゴリに関する定義情報も一緒に入っています。つまり、このバックアップファイルを参照すれば、ユーザーが現時点でMoneyNoteアプリにカテゴリーをどのように設定しているのかが判るわけです。 

MoneyNoteのバックアップデータを読み込むとMFFマクロが作動する

 ↑の画面で【はい】を選択すると、↑の15行目以降の取引データが↓のように「MFF形式データ」というワークシート上でMFF形式に変換されます。

MoneyNoteのバックアップデータの明細部分をMFF形式に変換した

 このデータ変換操作を終えた時点で、「MoneyNoteBK」ワークシートのバックアップデータはどのようになっているか、と申しますと…↓のように、1~6行目の固定収支データはそのままで、8~27行には全てのカテゴリーの定義情報を「未使用カテゴリー」の形で入れています。28行以降は空行で、取引データはMFF形式に変換すると同時にバックアップデータから削除されています。これらはMFFマクロが行った処理の結果です。

MFF形式変換後のMoneyNoteバックアップデータ

3.取引データを修正してMoneyNoteに戻す

 では、MFF形式に変換した取引データを修正しましょう。↓の6行目に、元旦にお年玉をあげたというデータがあるのですが、誰にあげたのかをMFF形式データのメモ欄に追記します。それが終わったらD1セルのプルダウンメニューで「MoneyNote」を選択し、セルカーソルをD1セルに合わせた状態でMFFマクロを動作させます↓。

MFF形式データを修正して、家計簿アプリにMoneyNoteを指定して再度MFFマクロを作動させる

 MFFマクロは、「MoneyNoteBK」ワークシートのデータの末尾に、MFF形式から変換したデータを追加して、MoneyNoteのバックアップデータをでっち上げます。そのcsvファイルをどこに格納するかを尋ねるダイアログが出てきますので、フォルダとファイル名を指定します。ファイル名のデフォルトは「MoneyNoteBK .csv」で、ピリオドの前に半角スペースが入ることに注意してください(これは修正できませんでした)。なお、MoneyNoteアプリは、バックアップのファイル名に制限は設けていないようです。

MFFマクロでMoneyNoteのバックアップファイルを出力する

 では、Androidスマートフォンに戻りましょう。バックアップデータの復元は↓のように行います。データ量が大きいと↓③の場面で少し待たされます。復元が終わりましたら、カレンダー画面④↓でデータが修正されていることを確認しましょう。

MoneyNoteのバックアップデータを復元する

 ところで、上記の例ではMoneyNoteのメモ欄に入る情報を修正したのですが…、カテゴリーを修正した場合はどうなるでしょうか? ↓の例では1/1にクレジットカードで「その筋整骨院」の費用を決済しているのですが、そのカテゴリーは本来「医療費」であったところを「治療費」に直した、としましょう。その状態でMFFマクロを動作させると、↓のように「MoneyNoteに登録されていない」と弾くようになっています(B5・C5セルを黄色に塗って警告している)。これは、ワークシート「MoneyNoteBK」の情報を活用して、未登録のカテゴリーをバックアップデータに追加しようとしていないか、MFFマクロがチェックをしているのです。

 MoneyNoteは未登録のカテゴリーを含んだバックアップデータを復元しようとすると、当該の取引データだけでなくデータファイルの全体の取り込みに失敗します。しかも、MoneyNoteに既に入っているデータは、バックアップの復元を試みた時点で全て消滅します。このような事情から、カテゴリーの整合性を確認する機能を設けました。

MoneyNoteに未登録のカテゴリーを指定しているとデータ変換を拒否する

 今回は、MoneyNoteの既存データをWindows PC側で修正する方法について解説しました。本来、できないはずのことを無理矢理実現しているので、このように複雑な操作が必要になっているのはご容赦ください。次回は、MoneyNoteアプリに入力済のデータに、取引データを追加・削除する手順を解説します。

注目の記事

家計簿アプリとデータをやりとりする際のファイル形式のまとめ

_今回の主題は…家計簿アプリとデータをやりとりするときに使用するファイルの形式について、です。筆者がこれまで MFFマクロ に対応させてきた家計簿アプリは27種類(Money通帳とあっと家計簿は別カウント)。まず、家計簿アプリからエクスポートする方向では↓のようになります。...

最近の人気トップ3