簡體   English   中英

Google腳本-時間觸發功能錯誤

[英]Google Scripts - Function Error with Time Trigger

該功能/觸發器組合旨在保持每天的實時數據記錄。 目的是將N2:P2粘貼為C:E列底部的值。

  1. 如果我手動運行, pullvalue()可以正常工作。
  2. 這是問題所在:設置時間驅動的觸發器會導致將值粘貼到C1:E1而不是列的底部。
  3. 我懷疑是target_range被打破時, Clast返回零值,但我想不出為什么。

我想念什么? 感謝您的幫助/反饋!

 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});} 

請驗證以下行:

var Cvals = ss.getRange("C1:C").getValues();

變量ss僅返回當前的activespreadsheet,但是當它從時間驅動的觸發器運行時,沒有活動的工作表,因此您需要指示該工作表,可以使用getSheetByName()或getSheets(),該行應如下所示:

var sheet = ss.getSheetByName("Sheet1");
var Cvals = sheet.getRange("C1:C").getValues();

希望這會幫助你。

謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM