最近Mac版のExcel 2008を触っているのですが、Windows版にはない機能などがあって、なかなか楽しいです。何より、今まで食わず嫌いしていたMacintoshがおもしろいです。基本的な操作で悩むことも多いのですが、それがまた、パソコンを始めた頃のような新鮮さです。
Mac版Excel 2008には「タイマー機能」があります。指定した時間がくるとメッセージが表示される機能です。Excel 2008だけで実現しているわけではありませんが、なかなか楽しい機能です。そういえば、Windows版のExcelでも、指定した時刻にマクロを起動する機能がありましたっけ。ちなみに、Excel 2008にはVBAが搭載されていません。、
指定した時刻にマクロを起動するには、ApplicationオブジェクトのOnTimeメソッドを使います。
OnTimeメソッドの書式は次の通りです。
OnTime(EarliestTime, Procedure, LatestTime, Schedule)
まず、時刻になったら実行するマクロを作ります。
Sub AlarmMessage() MsgBox "時間です!", vbInformation End Sub
そして、次のマクロを実行します。
Sub SetAlarm() Application.OnTime TimeValue("16:00:00"), "AlarmMessage" End Sub
これで、あとは普通にExcelを使っていればいいです。指定した時刻(ここでは16:00:00)がくると、指定したマクロ(ここではAlarmMessage)が起動します。OnTimeメソッドで設定したスケジュールが有効になるのは、OnTimeメソッドを実行したブックがExcel上で開かれている間です。もちろん、Excelを再起動すると、スケジュールは無効になります。
上記のスケジュールを解除するには、次のようにします。
Sub SetAlarm() Application.OnTime TimeValue("15:45:00"), "AlarmMessage", , False End Sub
マクロを起動する時刻は、「9:00」とか「18:00」のように特定の時刻を指定する場合は上記のようにTimeValue関数を使うと便利です。また、「現在の時刻から5分後」などの指定は、次のようにするといいでしょう。
Sub SetAlarm() Application.OnTime Now + TimeValue("00:05:00"), "AlarmMessage" End Sub