遊びにしか使っていなかった Gmail アカウントを、「GTD with Gmail Whitepaper」を参考にしてGTD的な用途に使ってみようかなと思っている。
タスクリストは OmniOutliner に入れているんだけど、自宅のMacからしかアクセスできなかったりしてちょっと不便だった。Gmailは速いしどこでも使えるし容量もたくさんあるしということで、普通にツールとして役立ちそうだ。
OmniOutlinerにあるタスクリストをひとつひとつGmailに送るのは面倒だから、AppleScriptで自動化した。アウトライン文書から各行を取り出して、それぞれメールにしてMailに送らせている。これで100個くらいのタスクリストをさくっとGmailに移動した。そのスクリプトを載せておく。AppleScriptは普段ほとんど書かないし1回使い切りな感じなのでヘボスクリプトかもしれんけど、便利だったのでどなたかの役に立てば。
まずはポイント。
- スクリプト中、2カ所あるyour_gmail_account @ gmail_DOT_com は各自のアドレスに直す。
- Mac OS X の Mail で Gmail の設定をしておく。送信設定だけでも良いと思う。
- いちばん手前で開いているアウトライン文書に対して動作する。
- アウトラインの「トピック」の内容がSubjectになる。本文は「トピック」の内容+(もしあれば)そのノートになる。
- チェックが入っている項目は「もう終わった項目」と見なして送信しない。
ではスクリプト本体。
tell application "OmniOutliner Professional" activate set doc to front document repeat with theRow in every row of doc if the state of theRow is unchecked then set theTopic to topic of theRow set body to theTopic & return & return & the note of theRow tell application "Mail" set theMessage to make new outgoing message with properties {subject:theTopic, content:body} tell theMessage set sender of theMessage to "your_gmail_account @ gmail_DOT_com" make new to recipient at end of to recipients with properties {address:"your_gmail_account @ gmail_DOT_com"} end tell send theMessage end tell end if end repeat end tell
次回以降もまとまった量のタスクを入れる時はまずOmniOutlinerで書いてGmailに送れば楽ちんだな。そうやって繰り返し使うことになったらこのスクリプトももうちょっと改良するかも。