我具有以下脚本,并始终收到错误“找不到方法createEvent(number,string,string)”。我不知道怎么了。有什么想法吗?
function createCalendarEvent() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = sheet.getLastRow();
var numColumns = sheet.getLastColumn();
var dataRange = sheet.getRange(startRow, 1, numRows-1, numColumns);
var data = dataRange.getValues();
var complete = "Done";
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var aname = row[2]; //Agent
var cname = row[3]; //Client Name
var country = row[4]; //Client Country
var phone = row[5]; //Phone Number
var deposit = row[6]; //Type of Deposit
var ewallet = row[7]; //Processor/eWallet
var method = row[8]; //Deposit Method
var amount = row[9]; //Amount/Percent
var date = new Date(row[10]); //Date of Next Contact
var target = row[12]; //Target Amount
var history = row[13]; //Deposit History incl. dates
var currency = row[14]; //Currency
var comments = row[15]; //Comments
var stime = new Date (row[17]);
var etime = new Date (row[18]);
var added = row[19]; //Added to calendar
if (added != complete) {
var currentCell = sheet.getRange(startRow + i, numColumns);
var event = CalendarApp.getDefaultCalendar().createEvent(cname, stime, etime);
currentCell.setValue(complete)};
}
}
答案 0 :(得分:1)
此错误意味着它找不到该方法,可能是因为您对函数createEvent(String,Date,Date)
使用了错误的参数(请参见文档here)。
您正在使用功能createEvent(number,String,String)
,该功能不存在。
您的第一个变量cname
应该转换为字符串,并且您还会误解的是第二个和第三个参数是字符串,而它们应该是日期。
正确的解决方案是将starttime
和endtime
转换为日期,这取决于字符串日期的格式。