見出し画像

【未経験でも出来る!】GoogleAppsScript(GAS)|カレンダー情報をスプレッドシートに書き出す方法

プログラミング未経験でも簡単に習得できるGoogle Apps Script👩‍💻🔰

今回はカレンダー情報をスプレッドシートに一括反映する方法を紹介しています💡

◎動画はこちら

◎スクリプト

function myFunction() {
 
 //カレンダーを取得
 var id = "メールアドレス"; 
 var calender = CalendarApp.getCalendarById(id);
 
 //イベント取得の対象期間を生成(startTime:今日、endTime:6日後)
 var startTime = new Date();
 startTime.setHours(0);
 startTime.setMinutes(0);
 startTime.setSeconds(0);
 
 var endTime = new Date();
 endTime.setDate(endTime.getDate()+6);
 endTime.setHours(23);
 endTime.setMinutes(59);
 endTime.setSeconds(59);
 
 //指定期間のイベントを取得
 var events = calender.getEvents(startTime, endTime);
 
 //取得データを格納する配列を宣言
 var values = [];
 
 //各イベントに対して繰り返し
 events.forEach(function(event){
   
   //変数eventから必要データを抜き出し
   var title = event.getTitle();
   
   var start = event.getStartTime();
   var end = event.getEndTime();
   
   var allday = event.isAllDayEvent();
   if(allday == true){
     allday = "●";
     end = "-";
   } else {
     allday = "-";
   }
   
   var description = event.getDescription();
   var location = event.getLocation();
   
   var guests = event.getGuestList();    
   var guests_email = []; //ゲストアドレスを格納する配列を宣言
   
   //各ゲストデータに対して繰り返し
   guests.forEach(function(guest){ 
     var email = guest.getEmail();
     guests_email.push(email);    
   });
   
   guests_email = guests_email.join(","); //アドレスデータを配列→カンマ区切りに変換 
   
   //取得したデータを配列valuesに格納
   values.push([title,allday,start,end,description,location,guests_email]);
   
 });
 
 //スプレッドシートに記載
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheetByName("取得");
 var lastRow = sheet.getLastRow()+1;
 sheet.getRange(lastRow,1,values.length,values[0].length).setValues(values);
 
}

最新講座はどんどんYoutubeにアップしていくので、ぜひチャンネル登録お願いします🦸‍♀️!


この記事が気に入ったらサポートをしてみませんか?