今回のメソッドは、予定の開始時間と終了時間を設定するsetTime()メソッドを紹介します。このメソッドの使い方をマスターすれば、一度作成した予定の開始時間や終了時間を自由自在に変更して好きなように予定をコントロールすることができます。
一度作成した予定は削除しない限り予定のIDが変わりませんので、予定を移動する場合などにもそのまま再利用した方が扱いやすいです。カレンダーをGASで操作することを考えている場合は、早めに使い方を身につけていたほうが良いと思います。
Google Apps ScriptでIDを変えずにいることにはいろいろとメリットがありますので、この件に関しては別の記事で詳しく説明しようかと思います。
予定の開始/終了時間を設定する— setTime()
コピペで使えるサンプルコードを参照したい方はこちらをクリックすればサンプルコードまでジャンプできますので、手っ取り早くコードを確認したい方はクリックしてください。
今回は作成済みの予定に対し、予定の開始時間と終了時間を設定するsetTime()メソッドの使い方をご説明します。こちらを設定すると予定の詳しい開始/終了時間を設定することができます。
例えば、開始時間に10時、終了時間に13時を設定すると、次のスクリーンショットのように予定が設定されます。
これを利用すれば終日予定ではない予定を設定する際に時間の設定を自由自在に設定できます。
『 引数に入れる値 』
『 関連するメソッド 』
合わせて覚えたいカレンダー予定の操作に関するメソッド
- getStartTime — 予定の開始日時を取得する
- getAllDateStartDate — 終日予定の開始日を取得する
setTime(startTime, endTime)サンプルコード
//予定の開始/終了日時を設定するコード function sampleCodeForCalendarAppSetTime() { var calendar = CalendarApp.getDefaultCalendar(); var date = new Date(); var events = calendar.getEventsForDay(date); var startTime = new Date(); startTime.setHours(10); startTime.setMinutes(0); var endTime = new Date(); //endTime.setDate(endTime.getDate() + 1); //複数日にまたがる予定を設定したい場合はコメントアウトを解除してプログラムを実行 endTime.setHours(13); endTime.setMinutes(0); for (var i in events) { var event = events[i]; event.setTime(startTime, endTime); } }
『 変数の説明 』
calendar = デフォルトカレンダーを取得
date = プログラム実行日を代入
events = プログラム実行日の予定を取得
startTime = 予定の開始日時を代入
endTime = 予定の終了日時を代入
プログラム実行日に複数予定が設定されている場合はすべての予定のタイトルが変更されてしまうので、ご注意下さい。
スクリプトができたら▶ボタンでプログラムを実行してみましょう。今回のコードではプログラム実行日の予定の開始時間と終了時間を設定するコードを書いてみました。コードでは、開始時間は10時、終了時間は13時に設定しました。プログラムが終了すると実際の予定の開始/終了時間が変更されます。
上記のコードをコピーして実行したあとにご自身のカレンダーを開いて予定を確認してみましょう。
プログラム実行時にすでにカレンダーを開いていてプログラムが終了しても予定の時間が変更されない場合はカレンダーページをリロードしてから再度確認してみて下さい。
もし、複数日にまたがる予定で開始日時と終了日時を設定したい場合には、日付オブジェクトの日にちを設定して下さい。サンプルプログラムでは、コメントアウトしてある部分を解除すれば当日の10時から1日後の13時までの予定を作成するプログラムに変わります。挙動を知りたい場合はコメントアウトを解除して試してみて下さい。
まとめ
今回は予定の開始時間と終了時間を設定するsetTime()メソッドをご紹介しました。予定の開始/終了時間をコントロールできればプログラムで実現できる幅が広がりますね。ぜひ使い方をマスターしてしまいましょう。