嘗試將 Google 表格集成/鏈接到日歷中
function updateCalendar() {
var spreadsheet = SpreadsheetApp.getActiveSheet();
var calendarId = spreadsheet.getRange("D3").getValue();
var eventCal = CalendarApp.getCalendarById(calendarId);
var data = spreadsheet.getRange("A7:D50").getValues();
for (x=0; x<data.length-1; x ){
var shift = data[x];
var startTime = shift[0];
var endTime = shift[1];
var name = shift[2];
var notes = shift[3];
eventCal.createEvent(name, startTime, endTime, notes)
}
}
Error
Exception: The parameters (String,String,String,String) don't match the method signature for CalendarApp.Calendar.createEvent.
updateCalendar @ Code.gs:26
不確定為什么我所有的 createEvent() 引數都作為字串回傳。在我的 GoogleSheets 中,值 startTime 和 endTime 是日期/時間值,而注釋/名稱值是字串。不知道如何前進,這是新的:/
我正在嘗試創建一個作業表,我可以在其中輸入日期/時間/描述/注釋并讓它自動為特定日歷創建日歷事件。我試圖弄清楚為什么我的值被解釋為字串,因為spreadsheet.getRange("A7:D50").getValues();回傳字串、日期/時間或布林值,所以這不是問題。

uj5u.com熱心網友回復:
更新日歷:
function updateCalendar() {
const ss = SpreadsheetApp.getActive();
var sh = ss.getActiveSheet();
var calendarId = sh.getRange("D3").getValue();
var eventCal = CalendarApp.getCalendarById(calendarId);
var vs = sh.getRange("A7:D50").getValues();
vs.forEach((r, i) => {
let startTime = new Date(r[0]);
let endTime = new Date(r[1]);
eventCal.createEvent(r[2], startTime, endTime, {description:r[3]})
});
}
剩下的一個問題是這如何防止您創建重復項。答:不會。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/522965.html
標籤:谷歌应用脚本谷歌表格
