Mac OS 関連情報

更新日:2003年04月13日

Mac でしかできないことシリーズ iCal をタイムカードに!

AppleScript でのスケジュールの作成と言う意味で、iCal を利用した「タイムカード」を作ってみました。

 「Mac でしかできないこと」ってなんだろう・・・で単純に思い付くのは、“AppleScript”です。対応ソフトは限られますが、対応しているソフトであれば、同じ書式でいろんな作業の自動化ができます。
 今回は、そんな自動化をいろいろ紹介してみたいと思います。

iCal でタイムカード?

 iCal も当然、AppleScript 対応です。なんせ、スケジュールをメール送信したりするしくみは、iCal のパッケージに含まれるAppleScriptにより動作しています。
 今回は、AppleScript でのスケジュールの作成と言う意味で、「タイムカード」を作ってみました。まずは、“iCal” と “スクリプトエディタ”(/Applications/AppleScript 以下) を起動して準備オッケーです。
※この記事は、Mac OS X 10.2.5 と iCal 1.0.2 で動作確認しています。

スケジュール作成の基本形

 まずは、ベースとなるスクリプトを考えてみましょう。以下のスクリプトがスケジュール作成の基本形になります。試しに書き込んで実行してみて下さい。

set sum1 to "スケジュールの見出し"
set startDate to date "2003年 4月 14日 月曜日 0:00:00 PM"
copy startDate to endDate
set time of endDate to ((time of endDate ) + 5)
tell application "iCal"
   make event at end of events of calendar 1 with properties {sequence :0, summary :sum1 , start date :startDate , end date :endDate }
end tell

 目的に応じた時間とか見出しにあわせて自由にスケジュールを登録するには、まず、このスクリプトを汎用的にします。 sum1 と startDate だけ目的に応じて変更すればよいわけですので、以下のような呼び出しのセットとして変更します。このように、on xx ~ end xx とすれば、処理の固まりを一つの命令として作成できます。
on makeEvent (sum1 , startDate )
   copy startDate to endDate
   set time of endDate to ((time of endDate ) + 5)
   tell application "iCal"
      make event at end of events of calendar 1 with properties {sequence :0, summary :sum1 , start date :startDate , end date :endDate }
   end tell
end makeEvent


起動時と終了時にスケジュールを登録

 あとは、上記の呼び出しを起動時と終了時に必要な情報とあわせて呼び出すだけで完成!。起動時には、on run ~ end run が処理され、終了時には、on quit ~ end quit の処理が自動的に行われますので、それらの中身に、スケジュールを作成する処理を書き込めばよいのです。下記の例にある current date はそのときの現在の時間と日付けを所得しています、continue quit は終了処理を継続するための約束ごとです。
on run
   set startDate to current date
   set sum1 to "開始"
   makeEvent (sum1 , startDate ) of me
end run

on quit
   set startDate to current date
   set sum1 to "終了"
   makeEvent (sum1 , startDate ) of me
   
   
   continue quit
end quit

on makeEvent (sum1 , startDate )
   copy startDate to endDate
   set time of endDate to ((time of endDate ) + 5)
   tell application "iCal"
      make event at end of events of calendar 1 with properties {sequence :0, summary :sum1 , start date :startDate , end date :endDate }
   end tell
end makeEvent


1 2
  • 印刷する
  • ブックマークする
  • 携帯に送る
  • ブログに書く

あわせて読みたい

この記事の担当ガイド

写真

木下 幹司

パソコンとの付き合いは20年以上。最初はWindowsを使っていたが、務めていたソフトウェア開発会社…

続きを読む

住まいには、人の個性がよく現れるもの。同じ空間をどのように使うかで、雰囲気も、快適さも大きく変わってくる。ここでは、「建築家と家を建てる」ガイド の川畑博哉氏が厳選した10軒を紹介し、建築家それぞれのこだわりのポイントを紹介しよう。建築のプロたちが考え出した、マネしたくなるアイデアが満載! さぁ、いますぐチェック!

人気Mac OSの使い方ランキング

Powered by 価格.com

デジタル関連コミュニティ

北欧好きが、愛用の北欧モノを見せ合うコミュニティ

メルマガ登録

【デジタルメルマガ】オトナのオトコなら知っておきたい、PCやデジモノに関する情報をお届けします。

ショッピングカタログ

All About ウェブマガジン

女性向け

雨が楽しくなる!レイングッズ15

男性向け

マネしたくなるアイデア住宅

All About モバイル

QRコード

All Aboutがケータイで読める!

オススメ記事をメールでチェック

知識・経験を生かして、記事を書いてみませんか?