[英]Google Scripts - Function Error with Time Trigger
This function/trigger combo is intended to keep a log of live data on a daily basis. 该功能/触发器组合旨在保持每天的实时数据记录。 The intent is that N2:P2 get pasted as values at the bottom of Columns C:E.
目的是将N2:P2粘贴为C:E列底部的值。
pullvalue()
works fine if I run it manually. pullvalue()
可以正常工作。 target_range
is breaking down when Clast
returns a zero value, but I can't figure out why. target_range
被打破时, Clast
返回零值,但我想不出为什么。 What am I missing? 我想念什么? Thanks for your help/feedback!
感谢您的帮助/反馈!
function pullvalue() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var target = SpreadsheetApp.getActiveSpreadsheet(); var source_sheet = ss.getSheetByName("Production"); var target_sheet = target.getSheetByName("Production"); var source_range = source_sheet.getRange("N2:P2"); var Cvals = ss.getRange("C1:C").getValues(); var Clast = Cvals.filter(String).length; var target_range = target_sheet.getRange("C"+(Clast+1)+":E"+(Clast+1)) source_range.copyTo(target_range, {contentsOnly:true});}
Please verify this line: 请验证以下行:
var Cvals = ss.getRange("C1:C").getValues();
variable ss return currently activespreadsheet only, but when it runs from a time-driven trigger there is no active sheet, so you need to indicate the sheet, you can use getSheetByName() or getSheets() the line should look like this: 变量ss仅返回当前的activespreadsheet,但是当它从时间驱动的触发器运行时,没有活动的工作表,因此您需要指示该工作表,可以使用getSheetByName()或getSheets(),该行应如下所示:
var sheet = ss.getSheetByName("Sheet1");
var Cvals = sheet.getRange("C1:C").getValues();
Hope this will help you. 希望这会帮助你。
Thanks. 谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.