我尝试创建一个Google脚本,根据Google工作表中的单元格内的信息创建日历活动。我已经达到了标记和标记所有内容的程度,但是出现了错误:
TypeError:在对象Calendar中找不到函数createEvent。 (第18行,文件"代码")
这是我写的代码:
function calInsert() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 25; // Number of rows to process
var dataRange = sheet.getRange(startRow, 2, numRows, 9);
var data = dataRange.getValues();
var cal = CalendarApp.getCalendarsByName( "EC Calendar" );
for (i in data) {
var row = data[i];
var title = row[1]; // First column
var tstart = row[2]; // Second column
var tstop = row[3];
var desc = row[4];
var loc = row[5];
var cmmail = row[6];
var leamail = row[7];
var event = cal.createEvent(title, new Date(tstart), new Date(tstop), {description:desc,location:loc,guests:cmmail,guests:leamail});
} }
您可以提供任何帮助。
答案 0 :(得分:0)
var cal = CalendarApp.getCalendarsByName(" EC Calendar"); 这将为您提供一系列具有该名称的日历。将其更改为:
var cal = CalendarApp.getCalendarsByName(" EC Calendar")[0]; //获取正确的日历 这将为您提供名称的第一个日历。我尝试了以下代码:
function calInsert() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 2; // Number of rows to process
var dataRange = sheet.getRange(startRow, 1, numRows, 5);
var data = dataRange.getValues();
var cal = CalendarApp.getCalendarsByName( "calendar ID" )[0];
for (i in data) {
var row = data[i];
var title = row[0]; // First column
var tstart = row[2]; // Second column
var tstop = row[3];
Logger.log(tstop);
var desc = row[1];
var loc = row[4];
//var cmmail = row[6];
//var leamail = row[7];
cal.createEvent(title, new Date(tstart), new Date(tstop), {description:desc,location:loc});
}
}
我可以在日历中创建活动。如果需要,您可以将cmmail和leamail发送到createEvent。