
Contents
カレンダー名から特定のカレンダーを取得するメソッド — getCalendarsByName
今回はアカウントに接続されているカレンダーのうち、カレンダー名を指定して特定のカレンダーオブジェクトを取得するメソッドを紹介します。
カレンダー名は『【GAS】getAllCalendarsメソッドを完全マスター』で紹介しておりますが、この部分のカレンダー名を指定することでカレンダーオブジェクトを取得するメソッドを今回の投稿では紹介します。人が見たままの表記で指定できるのは分かりやすくて使いやすいかもしれませんね。このメソッドで取得するカレンダーは配列で取得されますので、使用される際はこの点にご注意下さい。
それでは、メソッドの説明に移ります。
『 引数に入れる値 』
- name(カレンダー名) — 取得したいカレンダーのカレンダー名
getCalendarByName(name)
//カレンダー名からカレンダーを取得するコード function sampleCode1() { var name = "日本の祝日"; //ご利用の際はご自身のアカウントに紐付けられているカレンダー名に置き換えて下さい。 var calendars = CalendarApp.getCalendarsByName(name); for (var i in calendars) { var calendarName = calendars[i].getName(); Logger.log(calendarName); } }
『 変数の説明 』
name = 取得したいカレンダーのカレンダー名を代入
calendars = カレンダー名を指定したカレンダーオブジェクトを配列で格納
calendarName = カレンダーの名前を格納
スクリプトができたら▶ボタンでプログラムを実行してみましょう。実行が終了したらログを確認してみましょう。指定したカレンダー名がログに表示されていればプログラムは無事終了しています。
『スクリプトの説明』
変数calendarsには指定したカレンダー名と一致するカレンダーオブジェクトが配列で格納されています。forループで配列から一つずつカレンダーオブジェクトを取り出して、getName()メソッドを使ってカレンダーオブジェクトからカレンダー名を変数calendarNameに代入して、Logger.log(calendarName)でログにカレンダー名を出力させています。
まとめ
今回のコードでは、カレンダー名を指定し、特定のカレンダーオブジェクトを取得するメソッドをご紹介しました。取得されたカレンダーは配列に格納されることには注意して下さい。また、アルファベットでカレンダー名を指定する場合は、大文字小文字の区別はされません。
すべてのサンプルコードはコピーしてスクリプトエディタに貼り付けることでそのまま利用が可能です。