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を使っていたが、務めていたソフトウェア開発会社…

続きを読む

All About Good Answers Topics

回答募集中のトピック(お題)

回答できるものを探そう Good Anwsersトップへ
今なら最大10,000円の回答キャンペーン実施中!

ビジネススタイルは、スーツの着こなしのルールを遵守しつつ、小物で個性を打ち出すのがセオリー。だからこそ、比較的自由度の高いバッグが重要だ。そこで今回は、「ブリーフケース」と「トートバッグ」という今おすすめのタイプから15点ずつアイテムをピックアップ。品質や素材が秀でているだけでなく、機能面も優れる才色兼備な逸品を厳選した。バッグを新調するだけで、不思議なほど心躍る。

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

Powered by 価格.com

おすすめ記事

メルマガ登録

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

All About ウェブマガジン

男性向け

男のカバン完全カタログ

女性向け

パンの美味しい、素敵カフェ

All About モバイル

QRコード

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

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