今回は、前回で予告しました、Let's家計簿のインポート機能の不具合とその回避方法を解説します。実は、不具合は筆者が現在発見しているものが2つあります。
1.インポートをキャンセルしても未登録の口座や費目が登録される
まず、↓のようなMFF形式データをLet's家計簿インポート用データに変換します。ただし、あえてACF機能は使いませんので、Let's家計簿に登録していない口座や費目が含まれています。
MFFマクロが出力したLet's家計簿インポート用ファイルの中身は↓です。
さて、このファイルをLet's家計簿にインポートしてみますと…まず、口座名について、未登録のものが含まれていると「新規に作るか?」と聞いてきます。ここは【はい】を選択します。ちなみに、ここで【キャンセル】を選択すれば、インポートに関する処理は何も行われず、問題は生じません。
【はい】を選択すると、↓のようにインポート機能のダイアログが出現します。このダイアログでは、Let's家計簿に未登録である費目が含まれていても、それと判るような警告は出ません。ここで不安になって↓で【キャンセル】を選ぶと、何事も無かったかのようにスルーできているのがフツーなのですが…
【キャンセル】した後に、【口座設定】画面を開くと↓、左ペインの口座リストと右ペインの口座リストが不一致を起こしています。No.12~15の4つの口座は、先ほどインポートしようとしてキャンセルしたデータに含まれていた「Let's家計簿に未登録であった口座」です。つまり、ユーザーがキャンセルを選択する前に、インポートに必要な処理をお手つきで実行してしまっているわけです。
費目についても、同様に、インポートをキャンセルしたはずのデータに含まれていた「Let's家計簿に未登録であった費目」が登録されてしまっています。幸いにして、そのような費目は、既存の費目の末尾に追加され、しかもこの費目を使った明細データは存在しないので、この場でささっと削除してしまえば問題はありません。しかし、「キャンセル」が実はキャンセルになっていないという、なんとも困ったバグではあります。
Let's家計簿のこの不具合を回避するため、当BlogではLet's家計簿向けのインポート用CSVファイルを出力する処理においては、事前のACF機能の使用を必須としています(ACFを使わなかった場合は警告するようになっています)。
2.意図しない費目が勝手に割り付けられることがある
こちらは、謎解きに随分時間がかかりました。この事象を再現するには、まず、費目"食費"のサブ費目"食費-昼食"の設定画面で、入力支援キーワードとして「ラーメン,そば,うどん.パスタ,カレー」という文字列を入れておきます↓。この「入力支援キーワード」は、2024/07/21 2024年にLet's家計簿を使い始める方のための入門編その2 でご紹介したように、手入力の際に、「内容欄」に入力した文字列に、このキーワードが含まれていると自動的に費目を割り付けてくれる、という機能を提供するものです。
ここで、↓のようなMFF形式データを用意します。事前にACF機能を使用して、口座と費目はLet's家計簿に登録済のものに整えられている、という前提です。
↑のMFF形式データをLet's家計簿向けに変換したCSVファイルの中身がこちら↓。
↑のデータをLet's家計簿にインポートすると、例のダイアログが出現します。ここで驚くべきことが起きます。↑のデータでは、「レトルトカレー」および「塩ラーメン」に対して筆者は"食費-食料品"という費目を指定しています。ところが、↓のダイアログでは、それぞれ"食費-昼食"が割り付けられているのです。
↑この現象に気づいた当初は愕然としました。原因がさっぱり判らず、同じ費目を指定していても、発生したりしなかったりする、厄介極まる不具合ですからね…
Let's家計簿は、このダイアログ上で費目を修正できます。該当する費目欄においてENTERキーを叩くと、↓のようにツリーメニューが現れますので、その中から正しい費目を選択して再びENTERキーを叩けば確定します。
で、この現象の原因に気づくまで筆者は半日かかったのですが、それが先の「入力支援キーワード」でした。つまり、Let's家計簿はデータをインポートする際にも、内容欄の文字列に「入力支援キーワード」が含まれていると、マッチした費目を自動的に割り付けるわけです。たとえCSVファイル内で費目を明示していても、です。
なぜこのような動作になっているのか、といいますと…これは筆者の憶測ですが、費目を指定できない「OFXファイル」でのデータインポートの際に、OFXファイルの「適用欄」の文字列から費目を自動割り付けする機能が、CSVファイルに対しても有効になっているのでしょう。しかし、費目欄が空欄ならこの動作はありがたいのですけど、何か費目が指定されていて、それがLet's家計簿に登録済であるなら、指定されているとおりに割り付けるのが本筋ってものです。
この不具合に対処するには…「そういうものだ」と割り切るか、入力支援キーワードを全て削除してこの機能の動作を避けるか、のどちらかとなるでしょう。筆者としては後者をお奨めします。大量のデータをインポートする際に、費目の修正なんていちいちやっていられませんから。
Let's家計簿は1998年登場、最終バージョンアップは2013年。長期間開発が続けられてきた中でこれらの不具合が見過ごされてきた…ということは、やはりインポート機能ってのは使う人が少ないんですね。
しかし、筆者は家計簿アプリにおいてはインポート機能を非常に重視するのでこういった不備は許容できず、わざわざ一本の記事にてレポートさせていただきました。Let's家計簿の改修はもはや望めず、ユーザー側で対処するしかありません。今回の記事がその対処法の参考になれば幸いです。