【Google教學】如何新增行事曆並取得行事曆ID

https://youtu.be/lXUaCrIic2c

如何使用GAS新增一筆行事曆(2022/9/8)

我們新增行事曆取得行事曆ID,就可以透過程式的方式將您的內容寫到行事曆中,我們今天先用簡單的寫一整天的行事曆。

function writeCalendarEvents_one(){
    //整天的寫法
    var calendarId="行事曆[email protected]";//換成您要寫入的行事曆id
    var cal= CalendarApp.getCalendarById(calendarId);

    var title="test by sheet";
    var work_date=new Date("2022/8/4");
    
    var event = cal.createAllDayEvent(title, work_date);

}

https://youtu.be/P8CdR-AfD1o

如何讀取試算表的儲存格內容寫到行事曆(2022/9/15)

上一篇教學每次都要在程式碼修改內容才能執行寫入,有的人就會想說可不可以讀取指定儲存格的內容來寫入行事曆,我們這次就用上一個範例修改來做教學。

function writeCalendarEventsByRange(){
		

    //整天的寫法
    var calendarId="行事曆[email protected]";//換成您要寫入的行事曆id
    var cal= CalendarApp.getCalendarById(calendarId);

		var sheet = SpreadsheetApp.getActiveSheet();  //取得目前作用中的試算表
		

	  var title=sheet.getRange("A1").getValue();//取得儲存格A1的內容值
    var work_date=sheet.getRange("B1").getValue();
    
    var event = cal.createAllDayEvent(title, work_date);

}

https://youtu.be/tSO-o344fd8

試算表如何設定一個按鈕就可以執行並寫到行事曆(2022/9/22)

除了每次都到App Script去選取函數並執行,有沒有可以像excel一樣可以設定一個按鈕去執行,並於執行完畢可以彈出一個視窗告訴我們,今天就來說明如何操作。

function writeCalendarEventsByRangeButton(){
		

    //整天的寫法
    var calendarId="行事曆[email protected]";//換成您要寫入的行事曆id
    var cal= CalendarApp.getCalendarById(calendarId);

		var sheet = SpreadsheetApp.getActiveSheet();  //取得目前作用中的試算表
		

	  var title=sheet.getRange("A1").getValue();//取得儲存格A1的內容值
    var work_date=sheet.getRange("B1").getValue();
    
    var event = cal.createAllDayEvent(title, work_date);

		Browser.msgBox("執行結果","成功", Browser.Buttons.OK);

}

https://youtu.be/S2HPK_56ASY

如何設定一個按鈕就執行多筆寫到行事曆(2022/9/29)

之前一筆寫入的行事曆沒有問題後,我們就會想說多筆的話要如何做,就是用迴圈的方式來作,google的寫入是有限制的,就是每分鐘可以寫入60次的限制,超過就要使用延遲的指令。

function writeCalendarEventsByRangeForButton(){
  //作者:彰化一整天
    var calendarId="行事曆[email protected]";//換成您要寫入的行事曆id
		var cal= CalendarApp.getCalendarById(calendarId);

   var sheet = SpreadsheetApp.getActiveSheet();  //取得目前的試算表
   // var sheet =SpreadsheetApp.getActiveSpreadsheet().getSheetByName("工作表1"); //取得工作表1的試算表

  var lastRow=sheet.getLastRow(); //取得儲存格的列數
	var work_date;
	var title;

  for(var i=2;i<=lastRow;i++)//從第2筆開始讀取
  {
      title= sheet.getRange("A"+i).getValue();
      work_date= sheet.getRange("B"+i).getValue();
      event = cal.createAllDayEvent(title, work_date);
  }

	Browser.msgBox("執行結果","成功", Browser.Buttons.OK);
  
}

https://youtu.be/K0j6Z6B7XH4