[GAS][カレンダー]新しいカレンダーを作成するには: 逆引きGoogle Apps Script

2012 年 3 月 23 日 金曜日

▼サンプルスクリプト

カレンダー名だけを指定して作成するサンプルスクリプト。

1
2
3
function onOpen(){
  CalendarApp.createCalendar('カレンダー名');
}

詳細に設定することもできる。

1
2
3
4
5
6
7
8
9
function onOpen(){ 
  CalendarApp.createCalendar('スクリプトから作成', 
         {location: '場所のテスト', 
          summary: 'カレンダーの概要',
          timeZone: 'Asia/Tokyo',
          color: CalendarApp.Color.ORANGE,
          hidden: true, 
          selected: false});
}

作成するカレンダー名を入力したシートA列を、上から下までループしながら、カレンダーを新規作成するサンプルスクリプト。

1
2
3
4
5
6
7
8
9
10
11
function createCalendars(){ 
  var sheet = SpreadsheetApp.getActiveSheet();
  for(var i=1; i<sheet.getRange('A:A').getLastRow(); i++){
    var calendarName = sheet.getRange('A'+i).getValue();
    if (calendarName != ''){
      CalendarApp.createCalendar(calendarName);
    }
    // あまり連続して作成すると500エラーを返すので5秒ウェイト
    Utilities.sleep(5000);
  }
}

構文

createCalendar(name, optAdvancedArgs)

パラメータ

name
作成するカレンダー名
optAdvancedArgs
location
カレンダーの場所
summary
カレンダーの概要
timeZone
日本であればAsia/Tokyo。(タイムゾーン表
color
カレンダーの色
hidden
リストに表示するか(false)、表示しないか(true)
selected
カレンダーの予定を表示するか(true)、表示しないか(false)

戻り値

Calendar
作成したカレンダーオブジェクト

注意点

名前だけ指定して作成することもできるが、カレンダーのタイムゾーンがGMT+00:00で作成されてしまう。カレンダー名とタイムゾーンだけ指定して作成するには、以下のように記述する。

1
2
CalendarApp.createCalendar('スクリプトから作成', 
  {timeZone: 'Asia/Tokyo'});

ただし、Google Apps Scriptでカレンダーを作成した場合、国名を指定するオプションが無く、必ずアメリカ合衆国となるので注意。

スポンサードリンク

関連記事

コメント / トラックバック 2 件

  • AT より:

    function doGetはどこに書けばいいのでしょうか?

  • admin より:

    すいません、ご質問は、今回のサンプルスクリプトでのお話でしょうか、
    それとも、Google Apps Script全体に対する質問でしょうか。

    関数doGetの記述場所については、特に制約はありませんよ。

コメントをどうぞ

トラックバック

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

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