谷歌脚本谷歌工作表日历TypeError:无法在对象日历中找到函数createEvent。 (第18行,文件“代码”) [英] Google script google sheet to calendar TypeError: Cannot find function createEvent in object Calendar. (line 18, file "Code")
问题描述
我试图创建一个Google脚本,它将根据Google表格中的单元格内的信息创建日历活动。我已经到了一切都被标记和标记的地步,但是出现了一个错误:
TypeError:找不到函数createEvent in对象日历。 (第18行,文件代码)
以下是我写的代码:
函数calInsert(){
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; //第一行数据处理
var numRows = 25; //要处理的行数
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]; //第一列
var tstart = row [2]; //第二列
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});
}
}
任何帮助,您可以提供将不胜感激。
var cal = CalendarApp.getCalendarsByName(EC Calendar);
这会为您提供一个具有该名称的日历数组。更改为:
var cal = CalendarApp.getCalendarsByName(EC Calendar)[0]; //获取正确的日历
这给你带有名字的第一个日历。我尝试了下面的代码:
函数calInsert(){
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; //第一行数据处理
var numRows = 2; //要处理的行数
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]; //第一列
var tstart = row [2]; //第二列
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});
$ / code $ / pre
我可以在我的日历中创建事件。如果需要,您可以发送cmmail和leamail到createEvent。
I have attempted to create a google script that will create calendar events based on information within cells in google sheets. I have gotten to the point where everything is labeled and marked, but an error is occuring that states:
TypeError: Cannot find function createEvent in object Calendar. (line 18, file "Code")
Here is the code I have written:
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});
}
}
Any help you can provide would be appreciated.
解决方案 var cal = CalendarApp.getCalendarsByName("EC Calendar");
This gives you an array of calendars with that name. Change this to:
var cal = CalendarApp.getCalendarsByName("EC Calendar")[0]; //Gets the correct calendar
This gives you the first Calendar with the name. I tried the below code:
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});
}
}
I am able to create event in my calendar. If needed, you can send cmmail and leamail to createEvent.
这篇关于谷歌脚本谷歌工作表日历TypeError:无法在对象日历中找到函数createEvent。 (第18行,文件“代码”)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!