優美なインターフェイスから、スケジュール管理に iCal を愛用しているものの、人と連絡を取る ToDo 項目を作るときなど、アドレスブックとの連携が一見欠けているように見えて、不便に思っている人が多いかもしれません。実は、というか、もちろん、というか、これは可能です。Apple – Software – AppleScript – iCalで提供されている “iCal Address Book Plug-in Scripts” をダウンロードし解凍しましょう。

三種類のスクリプト
すると図のような三つのスクリプトファイルができるので、これを、「ライブラリ」フォルダ > 「Address Book Plug-ins」フォルダに入れます。
そうしておいて、アドレスブックの個々のエントリで、「勤務先」「自宅」など電話番号のラベル部分をプレスすると、図のようなポップアップメニューが現れます。

アドレスブックから山田太郎氏に電話
する ToDo 項目を iCal に作らせる
ここで “Schedule call to 太郎 山田” を選んでやれば、iCal に、 山田太郎氏に電話する ToDo 項目が作られます。URL 欄をクリックすれば、アドレスブックで山田太郎氏の項目が開きますし、メモ欄には、電話番号が自動的に記入されます。

iCal に山田氏に電話する ToDo が作られた
しかしこのままでは、姓名が逆になって不細工ですね。アドレスブックに入っている友人知人の大部分が日本人や韓国人や中国人やハンガリー人(つまり姓-名という順序が普通の人)である場合は、スクリプトを少しだけいじってやるといいでしょう。
「ライブラリ」フォルダ > 「Address Book Plug-ins」フォルダに入れた “Schedule Call.scpt” をダブルクリックすると、「スクリプトエディタ」が起動してこれを開きます。 ここで、次の部分の二カ所の “first name” と “last name” を入れ替えてやります。
on action title for this_person with this_entry
set this_name to (first name of this_person) & ” ” & (last name of this_person)
return “Schedule Call to ” & this_name
end action title
on should enable action for this_person with this_entry
return true
end should enable action
on perform action for this_person with this_entry
set this_name to (first name of this_person) & ” ” & (last name of this_person)
set this_ID to id of this_person
ついでに、
return “Schedule Call to ” & this_name
の行を、
return this_name & “への電話する ToDo を設定”
とでも変更します。また、下から7行目ほどの、
set summary of this_todo to “Call ” & this_name
を、
set summary of this_todo to this_name & “に電話”
に変更しましょう。

メニューが「〜への電話 ToDo を設定」
になった。
すると、アドレスブックでは右図のようになりますし、iCal に作られる ToDo 項目のタイトルも「〜に電話」という形になります。
なお、このスクリプトでは、iCal の一番目のカレンダーに ToDo 項目が作られます。もし ToDo を入れたいカレンダーが違っていれば、あとからiCal 上で項目が属するカレンダーを切り替えればいいことですが、よく使うカレンダーを iCal 画面左端の「カレンダー」リストの中でドラッグして一番目に持っていっておくといいでしょう。あるいは、スクリプトをいじって、下から8行目ほどの、
make new todo at end of todo of calendar 1
の最後の数字を変えてやれば、デフォルトで ToDo を作成するカレンダーを変更することができます。
最初にダウンロードしたスクリプトの残り二つは、アドレスブックの中のある人に関連したイベントをカレンダーに作るものと、ある人の誕生日をイベントとして iCal に書き込むもので、上と同様にカスタマイズが可能です。
Twitter