✍️

Google Apps Script(GAS)で不要な会議通知を不参加に設定する方法を紹介します!

2021/12/18に公開

概要

私の職場では、所属グループが増えてくると不要な会議通知が溜まってくる場面があります。
そもそも通知が来ないように連絡するのがいいのでしょうが、面倒な時や何か理由があってMTG自体の存在を追わないといけない時は一括で不参加にできるのでおすすめです。

GASのプロジェクトを作成までの操作や、トリガーの設定方法は記載していません。
下記のコードの【変更ポイント①】、【変更ポイント②】を編集してプロジェクトに貼り付ければ動きます。

コード

// 【変更ポイント①】calendarNameに自分のメールアドレスを追加
const calenderName = "xxx@gmail.com"
// 【変更ポイント②】自動で不参加にするワードを設定。
// 例として、タイトルに【xxx】(かっこも含む)を含むものはNG WORDとする設定を記載
const ngWord = "【xxx】"

function cancelMeetings() {
  let calender = CalendarApp.getCalendarById(calenderName);
  let startDate = new Date();
  let endDate = new Date();
  // 木曜日に来週の予定について回答する想定。
  startDate.setDate(startDate.getDate()+1);
  endDate.setDate(startDate.getDate()+7);

 // タイトルがNG WORDにマッチするものに不参加と回答
 let events = calender.getEvents(startDate,endDate);
  for(let i=0; i<events.length; i++) {
    let event = events[i]
    Logger.log(event.getTitle())
    if(event.getTitle().match(ngWord)) {
      events[i].setMyStatus(CalendarApp.GuestStatus.NO);
    }
  } 
}

応用するなら

下記は今回取り上げたコードを利用した応用として考えられそうです。

  • ngWordを配列で保持して増やす。
  • 会議通知を送った人を見て不参加と回答する。
  • GASのGUIの設定で、実行する時間(トリガーとなる時間)を調整する。

Discussion