15.PEM&Memo

またも間隔が開いた。が、その事情については次の項で。

以前、おこずかい帳ソフト、PEMを使い始めたことは報告した。使い勝手は良く、また常時携帯しているというPalmの特徴とあいまって、私にしては珍しく家計簿付けが続いている(もっとも先日、一月分ほどため込んだレシートを紛失してしまったが(;_;))。ただ、唯一パソコンとの連携が取れぬ事を不満に思っていた。別に専用ソフトでなくとも良い、データがCVSとかで書き出せれば良いのになあ、と。それが最近になって、非常に大きな誤解であった事に気付いたのであった。

書き出しが出来ないと思い込んでいた理由の一つは、使い始めのころ、メニューからデータ→書き出しを選んだ際、どこに何が書き出されているのかまるでわからず、書き出しは出来ないものと思い込んでしまったのだった。
それが先日、メモ帳の中身を確認中に、PEMの書き出しの出力が、メモ帳の未分類のところに入っているのを発見したのであった。しかもタブ区切りテキストなので、このままエクセルにほうり込めばOKそうだ。なんで以前やったときに気付かなかったんだろう。かくして、半年ぶり?に発見されたテキストについて、母艦上でエクセルにほうり込んでみた。当然OK。さて、これで整理して統計とるか。…そう、これまでは家計簿をつけていただけ。統計→家計のあり方に反映、という本来やるべき肝心な事をまるで行っていなかったのであった(^^;。

さて、なんでメモ帳の確認をしていたかについてもお話しておこう。まず私のメモ帳の使い方だが、仕事関係のメモ、個人的なメモ、電脳関係のメモといった本当のメモ以外に、この上で日記をつけているのだ。仕事のノートも兼ねているので日誌というべきか。そこではまず、メモ帳のカテゴリで、「日記2000/10」という風に月単位の管理、メモの各項目を日単位として、階層管理を行っている。さて、先日そろそろ年末が近づいて来たということで、今年の分の日記のカテゴリを作っておこうとした…ら、16個目のカテゴリを作ろうとしたところで、カテゴリはこれ以上増やせないと言われてしまった(^^;。そう、カテゴリ数の制限を知らなかったのである。もちろん無制限に増やせるとも思ってはいなかったが、ここまで少ないとも思っていなかった(マニュアルみろよ>私(^^;)。

さて困った。階層管理は続けたいし…といったところで思い付いたのがドキュメントビューアーのMeDocである。MeDocも一層ではあるが階層管理はしてくれる(本当は年単位の管理も含めて2層あるとうれしいんだが)。どうせ古い日記はめったに書き込みしないし、閲覧だけならMeDocはむしろ便利な位だろう。ということでカテゴリの制限を超えそうな古い日記に付いては、MeDoc形式に変換して保存する事に決めた。

決めたはいいが、具体的にどーしたらいいんだ?というわけで、まずMeDoc形式のファイルをMac上で開いてみた。すると、単なるタグジャンプ用のタグが先頭にあるだけの普通のテキストファイルである。ということは、各月ごとにファイルを作り、日単位のタグジャンプのメニューを作れば、なんとかなりそうだ。文字コードに関しての不安はあるが、まずメモ帳を書き出したものについて、MeDoc形式に変換するawk scriptを書いてみることにした。

まずMac上のPalmDesktopからメモ帳の書き出しを行ってみると、…なんじゃこりゃ。タブが全部タブじゃなくなっている。こんな書き換えされると困るんだけどなあ。また、メモの項目を指定してメニューからコピーを選び、これをエディタ上でペーストしてみると、選んだ日付分のメモがまとめてペーストされるのは良いのだが、先頭に変な制御コードが入っているらしく、その文字自体が化けたようになっている。一方、Win上のPalmDesktopからだと、項目を指定してコピー、ペーストすると、同様に選んだ項目がまとめてペーストされるところまでは同じ。違いは、項目の先頭の制御コードがCtrl+Fの垂直タブ。これならばawkでの扱いは簡単である。こうなると、スクリプト作製の作業自体は簡単である。垂直タブのみをfield separatorにしておき、垂直タブがあるか、一行目なら日付、じゃなければ本文だ、というきわめて単純なスクリプトをでっち上げた。もっとも、久しぶりだったんで、なーんか動きがおかしいと思ってたら、=と==の違いを忘れてたという、きわめて初歩的ミスもあったが(^^;。

さて、実は最大の難題は、DOS上でのawkの操作であった。マック上ではGAWK Interfaceのおかげで、こいつに処理したいファイルをまとめてDropしてやれば、あとはそれぞれ処理してくれる。UNIX風の強力なパイプラインが欲しい時には不便することもあるが、この手のマルチファイルからマルチファイルを生成する様なときには非常に便利である。さて、Win上ではどうするんだ?と思いVectorや検索エンジンで調べてみたが、特段Winでawkを活用するためのそういったモノは見つからない。やむなく、作業はすべてDOS上で。久々にF3を多用した(^^;。Dos時代末期は、いろいろな常駐ソフトによって、DOSプロンプトの使い勝手をあげてたから、本当に超久々である。いやもうやりにくいのなんの(^^;。途中、個々にやるのに嫌気が差し、Webでバッチファイルの文法を調べ、
for %%i in (02 03 04 05) do gawk -f MemoDiary2MeDoc.awk Diary2000_%%i.txt > Diary2000_%%i.m
といった形でバッチ処理しようと思ったが、リダイレクトにはforの変数が代入されないのね。がっかり。昔はこういう時どういう風に処理してたんだったかなあ。

かくして、WorkPad中の2月分から10月分までの日記を、MeDoc形式に変換。これをMakeDocWでDocとし、WorkPadに転送。特段MakeDocWとぶつかる事もなく無事文字コードも変換でき、無事階層管理した閲覧が可能となった。かくしてMemoのカテゴリ枯渇対策は出来たのだった。ただ、難点を言うなら読む事は出来てもそこからコピーは出来ない。過去日誌から同じ項目の再利用ってことは良くあったことなので、この点は少々問題か。MeDoc用のPalmエディタでも入れてみようかな。

(2000.11.05/11.29加筆)


ご意見ご感想は、ii9t-iwsk@asahi-net.or.jpまでどうぞ。