Google Apps ScriptでGoogleカレンダーの場所・説明を取得する方法


calendar-memo

photo credit: Dmitry Karyshev когда ж работать-то? via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Googleカレンダーの記録をスプレッドシートに書き出して活用する方法についてお伝えしています。

前回はこちらの記事でした。

Google Apps ScriptでGoogleカレンダーの記録をスプレッドシートに出力する
Googleカレンダーの記録を活用して仕事の生産性を測定する方法を進めています。Googleカレンダーの特定の月のイベントをスプレッドシートに出力するGoogle Apps Scriptを紹介します。

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メソッドを使います。

書き方はこちらです。

Eventオブジェクト.getLocation()

getDescriptionでカレンダーイベントの説明を取得する

次に、イベントの説明を取得するには、getDescriptionメソッドを使います。

書式はこうです。

Eventオブジェクト.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を作るステートメントに、場所と説明を取得したものを要素として追加するだけですね。

簡単で良かった…!

実行結果

このスクリプトを実行すると、以下のようにシートに書き出されます。

GASでGoogleカレンダーの場所、説明をシートに書き出す

D列に場所、E列に説明が出力されていますね。

まとめ

Google App ScriptでGoogleカレンダーイベントの場所、説明を取得する方法でした。

そのままのメソッドがあるので簡単ですね。

さて、次回ですが数式をスプレッドシートに書き出す方法をお伝えします。

Google Apps Scriptで時刻計算と文字列抽出の数式を入力する方法
Googleカレンダーの記録をスプレッドシートに書き出して活用する方法についてお伝えしています。今回は、Google Apps Scriptで時刻計算と文字列抽出の数式を入力する方法をお伝えします。

どうぞお楽しみに!

連載目次:GASとカレンダーの記録を活用して過去の仕事を振り返る

企業ではスプレッドシートを勤怠管理やプロジェクト進捗管理などに使っている場合も多いと思います。このシリーズでは、カレンダーとスプレッドシート、そしてGoogle Apps Scriptを使って仕事の生産性を測定する方法についてお伝えしています。
  1. GASで仕事の生産性を測定して振り返るためのGoogleカレンダーの使い方
  2. Google Apps ScriptでGoogleカレンダーを操作する最初の一歩のスクリプト
  3. Google Apps Scriptで特定月のカレンダーのイベント情報を取得する
  4. Google Apps ScriptでGoogleカレンダーの記録をスプレッドシートに出力する
  5. Google Apps ScriptでGoogleカレンダーの場所・説明を取得する方法
  6. Google Apps Scriptで時刻計算と文字列抽出の数式を入力する方法
  7. Google Apps Scriptで任意の月のカレンダーデータをスプレッドシートに書き出す方法
  8. Googleカレンダーの記録を活用してスプレッドシートに業務別の工数計算

タイトルとURLをコピーしました