我正在为我部门的工具工作,最后,该工具将查看在设定日期范围内的人们的Google日历,并在电子表格中填充该日期范围内所有已安排的会议的列表。
该代码当前可与硬编码日期和电子邮件一起使用,但是当我引用电子表格单元格时会出现上述错误(人们将输入其电子邮件地址和日期范围以从中填写表格) )。
我尝试使用getRange(),getValue()和getCell(),但都没有用。
问题代码如下:
var sheet = SpreadsheetApp.getActive();
var inputSheet = sheet.getSheetByName("InputCleaner");
var outputSheet = sheet.getSheetByName("RawData");
var mycal = inputSheet.getCell(5,2,1,1);
var cal = CalendarApp.getCalendarById(mycal);
var events = cal.getEvents(new Date("January 12, 2014 00:00:00 CST"), new Date("July 18, 2019 23:59:59 CST"), {search: '-project123'});
当我尝试执行上面的代码时,它出现以下错误:
TypeError:在对象Sheet中找不到函数getCell。 (第32行,文件“代码”)
如果第3行(而不是引用单元格)仅具有如下电子邮件地址本身,则上面的代码可以正常运行:
var mycal = "example.email@gmail.com";
但是我需要它能够从工作表中的特定单元格中提取电子邮件地址。
答案 0 :(得分:0)
尝试一下:
function function1() {
var ss=SpreadsheetApp.getActive();
var ish=ss.getSheetByName("InputCleaner");
var osh=ss.getSheetByName("RawData");
var mycal=ish.getRange(5,2).getValue();
var cal=CalendarApp.getCalendarById(mycal);
var events=cal.getEvents(new Date("January 12, 2014 00:00:00 CST"), new Date("July 18, 2019 23:59:59 CST"), {search: '-project123'});//not sure about this line
}
这是显示日历ID的功能:
function displayCalendarInfo()
{
var cals=CalendarApp.getAllCalendars();
var s='Calendar Information';
for(var i=0;i<cals.length;i++)
{
s+=Utilities.formatString('<br />Name: %s Id: %s', cals[i].getName(),cals[i].getId());
}
s+='<br /><input type="button" value="Close" onClick="google.script.host.close();" />';
var ui=HtmlService.createHtmlOutput(s).setWidth(1200).setHeight(450);
SpreadsheetApp.getUi().showModelessDialog(ui, 'Calendar Data');
}