_マイクロソフトマネー関連の連載第6弾は、前回の記事の反対で、他の家計簿アプリに向けたデータ変換の方法を解説します。マイクロソフトマネーからのデータの取り出し方は
-
Ultrasoft Moneylink(Excelアドインソフト)を使用してマイクロソフトマネーのデータファイルから直接データを取り出す→64bit版Excelでは動作せず今後の主力になり得ない
-
レポート機能の「取引の一覧」からCSVファイルでデータを書き出す
→複合仕訳機能を使って記帳したデータが、総額のみ維持され内訳が失われる【追記】:複合仕訳機能を使っていても内訳の情報を維持したままCSVファイルでデータ出力する方法については 2022/01/10 マイクロソフトマネーの複合仕訳データを他の家計簿アプリ向けに変換する方法 を参照してください
1.「レポート機能」の「取引の一覧」にアクセス
_マイクロソフトマネーは、レポート機能↓を使って、グラフ描画や一覧表の形で表示した際に、その元ネタになったデータを「Microsoft Excelへ書き出し」することができます。実は、取引データもその一つに過ぎません。
_↑のように操作すると、以前にこの機能を使った際の設定のままで取引一覧表が表示されます。ここで、左ペインの【ユーザー設定】を叩くと↓のようなダイアログが出現します。このダイアログ内のそれぞれのタブで、「取引の一覧」の表示条件を設定していきます。
_↑特に重要なのが【行と列】タブの【表示する項目】において、【処理済み】以外の全てにチェックを入れるることです。また、【小計】は「月」を選択し、【現在の残高】は「残高の推移を表示しない」を選択します。いずれも、ここでの設定が「取引の一覧」の表の形式を決定することになります。
_↑の画面で【Microsoft Excelへ書き出し】を叩き、出現したダイアログ↓にてファイルの保存先と名称を指定すると、CSVファイルが出力されます。
2.Excel上でのMFFマクロの操作
_そのCSVファイルの中身が↓です。A1セルに入っている「取引の一覧」は、前述した「ユーザー設定(レポート)」で指定した【タイトル】であり、ユーザーがどんな文字列を入れてくるかわかりません。そこでMFFマクロでは、A7セルに”番号”が入っていることをもって「マイクロソフトマネーが直接書き出したCSVファイルである」と判断するようにしています。で、この状態で↓MFFマクロを動作させると…
_まず、データを再読み込みするかを聞かれます↓。これは、↑の画面に#NAME?とエラーが出ているのを解消するためです(数式バーを見ると、”@オンラインカケイボウキウキ”という文字列の先頭の@が演算子とみなされ、式として解釈しようとして果たせずにエラーになっていることが判ります)。ここは迷いなく【はい】を選択してください。
_その次に出現するダイアログも重要。前回の記事のとおり、当blogではマイクロソフトマネーの使い方として、
- 【支払先/支払元】欄に取引先名を入れる(Mode1)
- 【支払先/支払元】欄に費目情報を入れる(Mode2)
_の2とおりを提示しており、どちらで運用しているのかを聞いてきます。↓の右側のダイアログで【はい】を選ぶとMode2、【いいえ】を選ぶとMode1ということになります。MFFマクロはここでの回答に応じて後述のように動作を変えています。
_↓MFF形式への変換動作が完了したところです。出力するファイルによりB1セル(OFXファイル)、D1セル(CSVファイル)のドロップダウンメニューで選択した後(↓の例では「がまぐち君」を選んでいる)、そのセルにセルカーソルを合わせた状態でMFFマクロを再度動作させると、さらに変換された後のファイルが出力されます。
3.マイクロソフトマネーのデータをMFF形式に変換する処理の概要
(1)収入・支出取引
_前述のとおり、マイクロソフトマネーについて筆者が提示している2種類の使い方にそれぞれ対応した処理を行うようにしています。まず最初に、マイクロソフトマネーの本来の使い方であるMode1↓、
_次に、OFXファイルを取り込む際に学習機能を使って効率よくデータを投入するためのMode2です。
(2)振替取引
_口座A→口座B の振替取引(このソフトでは”資産間移動”と呼んでいる)を例にして、マイクロソフトマネーが出力するデータに応じたMFFマクロの動作をまとめると以下のようになります。
- 口座Aのみの「取引の一覧」を抽出している場合
- マイクロソフトマネーは、口座A→口座B の資産間移動の取引データを出力する
- MFFマクロは、口座B←口座Aの振替収入取引をでっち上げる
- 口座A・口座Bの「取引の一覧」を抽出している場合
- マイクロソフトマネーは、口座A→口座B および 口座B←口座A の資産間移動の取引データを出力する
- MFFマクロは、口座A→口座B および 口座B←口座A の資産間移動をそれぞれ振替取引に変換し、マッチングをチェックする(マッチした2つの取引をペールグリーンに塗る)
_資産間移動のデータをMFF形式に変換する動作を図解すると↓のようになります。
_