[GAS][カレンダー]繰り返し予定を作成するには: 逆引きGoogle Apps Script

2012 年 3 月 23 日 金曜日

▼サンプルスクリプト

2012年1月1日から1月10日まで毎日「日課(ランニング)」という件名の予定を作成するサンプルスクリプト。

function myFunction() {
    var cal = CalendarApp.getCalendarById('xxxxxxxxx@group.calendar.google.com');
    cal.createAllDayEventSeries('日課(ランニング)', new Date('2012/1/1'), 
            CalendarApp.newRecurrence().addDailyRule().times(10)
    );
}

Exclusion(除外)ルールを設定した例。以下の場合は、2012年1月1日から月曜日を除き毎日繰り返し「トレーニング」という予定を作成している。

function myFunction2() {
    var cal = CalendarApp.getCalendarById('xxxxxxxxxx@group.calendar.google.com');
    cal.createAllDayEventSeries('トレーニング', new Date('2012/1/1'), 
    CalendarApp.newRecurrence().addDailyRule().times(10)
            .addDailyExclusion().onlyOnWeekday(CalendarApp.Weekday.MONDAY)
    );  
}

構文

createEventSeries(title, startTime, endTime, recurrence, optAdvancedArgs)

カレンダーに繰り返し予定を作成する。

createAllDayEventSeries(title, startDate, recurrence, optAdvancedArgs)

カレンダーに終日の繰り返し予定を作成する。

パラメータ

title
繰り返し予定の件名
startTime
createEventSeriesのみ。繰り返し予定の開始日時を指定する。このパラメータで指定した年月日が繰り返し予定の起点となり、時間は繰り返し予定の開始時間になる。
endTime
createEventSeriesのみ。繰り返し予定の終了日時を指定する。
startDate
createAllDayEventSeriesのみ。終日繰り返し予定の起点日を指定する。
recurrence
繰り返しルール。詳細はClass Recurrence参照。
optAdvancedArgs
任意。予定の詳細情報

description
予定の概要
location
予定の場所
guests
ゲスト。スケジュールを共有したいユーザーのメールアドレスをカンマ区切りでセットする
sendInvites
ゲストに招待メールを送信するか

戻り値

CalendarEventSeries
繰り返し予定情報。

補足

繰り返しルール(recurrence)はstartTimeやstartDateよりも優先される。例えば、startDateが2012年1月1日(日)で、繰り返しルールが曜日指定で火曜日のみとした場合、一連の予定は2012年1月3日(火)から作成される。

さらに、除外条件は、繰り返し条件(曜日、月など)よりも優先される。上記のルールで、例えば除外条件「1月」を追加した場合、繰り返し予定は2012年2月の第一火曜日から作成される。

関連記事

コメントをどうぞ

トラックバック

このエントリーのトラックバックURL:

http://www.bmoo.net/archives/2012/03/313288.html/trackback