我有一个谷歌电子表格,准备报告和发送电子邮件。当我在浏览器中打开电子表格时,电子表格会被更新,用正确的数据发送电子邮件(实际上是图表)。如果我将此代码放入触发器中,则电子邮件包含空图形,因为电子表格中没有填充数据。电子表格进行计算并绘制图表。
有什么办法解决这个问题吗?到目前为止,我已经知道,如果我打开了电子表格,那么触发器会向我发送电子邮件并提供所需的数据,但是如果电子表格没有打开,电子邮件包含空图表。
提前谢谢。
发布于 2016-08-06 10:01:09
您可以使用getActiveSpreadsheet()和getActiveSheet()从电子表格中获取数据。
就像这样:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();如果我的假设是正确的,那么使用getSheetByName()或getSheets()代替getActiveSheet()
因为getActiveSheet()只返回当前活动的电子表格,但是当它从时间驱动的触发器运行时,没有活动表,而图形绘制功能无法获取任何数据,因此需要指示该表。
这一行应该是这样的:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");希望这能帮到你。
谢谢。
https://stackoverflow.com/questions/38802630
复制相似问题