我有一个Google电子表格,可以准备报告并发送电子邮件。在浏览器中打开电子表格后,电子表格会更新数据,并使用正确的数据(实际上是图表)发送电子邮件。如果我将此代码放入触发器中,则电子邮件中将包含空图,因为电子表格中没有填充数据。电子表格进行计算并绘制图表。
无论如何要解决此问题?到目前为止,我已经知道如果我打开了电子表格,那么触发器将向我发送包含所需数据的电子邮件,但是如果电子表格未打开,则电子邮件将包含空图表。
提前致谢。
您可以使用getActiveSpreadsheet()和getActiveSheet()从Spreadsheet获取数据。
像这样的东西:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
如果我的假设是正确的,则使用getSheetByName()或getSheets()而不是getActiveSheet()
因为getActiveSheet()仅返回当前活动的电子表格,但是当它是由时间驱动的触发器运行时,没有活动的工作表,并且图形绘制功能无法获取任何数据,因此您需要指示工作表。
该行应如下所示:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");
希望这会帮助你。
谢谢。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句