みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
Googleカレンダーの記録をスプレッドシートに書き出して活用する方法についてお伝えしています。
前回はこちらの記事でした。
Googleカレンダーのイベント名とその日時をスプレッドシートに書き出す方法を紹介しました。
今回は、イベントから他の情報も取り出してみましょう。
ということで、今回はGoogle Apps ScriptでGoogleカレンダーのイベントの場所と説明を取得する方法です。
では、行ってみましょう!
前回のおさらい
まず、前回のおさらいからです。
作成したスクリプトはこちらでした。
const CALENDAR_ID = '**********'; //カレンダーID function getCalendarEvents() { const calendar = CalendarApp.getCalendarById(CALENDAR_ID); const startTime = new Date('2020/04/01 00:00:00'); const endTime = new Date('2020/05/01 00:00:00'); const events = calendar.getEvents(startTime, endTime); const values = []; for(const event of events){ const record = [ event.getTitle(), event.getStartTime(), event.getEndTime() ]; values.push(record); } SpreadsheetApp.getActiveSheet().getRange(2, 1, values.length, values[0].length).setValues(values); }
カレンダーIDで取得したカレンダーについて、2020年4月のイベントを取り出し、そのイベント名、開始日時、終了日時をスプレッドシートに書き出すというものでした。
今回は、さらに場所と説明を取得して以下のように書き出しをしていきます。
- A列: タイトル
- B列: 開始日時
- C列: 終了日時
- D列: 場所
- E列: 説明
getLocationでカレンダーイベントの場所を取得する
まず、場所からいきましょう。
Googleカレンダーのイベントの場所を取得するには、getLocationメソッドを使います。
書き方はこちらです。
getDescriptionでカレンダーイベントの説明を取得する
次に、イベントの説明を取得するには、getDescriptionメソッドを使います。
書式はこうです。
簡単ですね。
カレンダーのイベントの場所と説明も出力するスクリプト
以上を踏まえて、イベントについて場所と説明も出力に加えたスクリプトを作りました。
こちらです。
const CALENDAR_ID = '**********'; //カレンダーID function getCalendarEvents() { const calendar = CalendarApp.getCalendarById(CALENDAR_ID); const startTime = new Date('2020/04/01 00:00:00'); const endTime = new Date('2020/05/01 00:00:00'); const events = calendar.getEvents(startTime, endTime); const values = []; for(const event of events){ const record = [ event.getTitle(), event.getStartTime(), event.getEndTime(), event.getLocation(), event.getDescription() ]; values.push(record); } SpreadsheetApp.getActiveSheet().getRange(2, 1, values.length, values[0].length).setValues(values); }
11行目からの一次元配列recordを作るステートメントに、場所と説明を取得したものを要素として追加するだけですね。
簡単で良かった…!
実行結果
このスクリプトを実行すると、以下のようにシートに書き出されます。
D列に場所、E列に説明が出力されていますね。
まとめ
Google App ScriptでGoogleカレンダーイベントの場所、説明を取得する方法でした。
そのままのメソッドがあるので簡単ですね。
さて、次回ですが数式をスプレッドシートに書き出す方法をお伝えします。
どうぞお楽しみに!
連載目次:GASとカレンダーの記録を活用して過去の仕事を振り返る
企業ではスプレッドシートを勤怠管理やプロジェクト進捗管理などに使っている場合も多いと思います。このシリーズでは、カレンダーとスプレッドシート、そしてGoogle Apps Scriptを使って仕事の生産性を測定する方法についてお伝えしています。- GASで仕事の生産性を測定して振り返るためのGoogleカレンダーの使い方
- Google Apps ScriptでGoogleカレンダーを操作する最初の一歩のスクリプト
- Google Apps Scriptで特定月のカレンダーのイベント情報を取得する
- Google Apps ScriptでGoogleカレンダーの記録をスプレッドシートに出力する
- Google Apps ScriptでGoogleカレンダーの場所・説明を取得する方法
- Google Apps Scriptで時刻計算と文字列抽出の数式を入力する方法
- Google Apps Scriptで任意の月のカレンダーデータをスプレッドシートに書き出す方法
- Googleカレンダーの記録を活用してスプレッドシートに業務別の工数計算