2016-08-04 4 views
0

この関数/トリガーコンボは、ライブデータのログを毎日保持するためのものです。その目的はN2:P2が列C:Eの下部に値として貼り付けられることです。Google Scripts - タイムトリガーによる関数エラー

  1. pullvalue()は手動で実行すると問題なく動作します。
  2. 問題があります:時間駆動トリガーを設定すると、列の下部ではなくC1:E1に値が貼り付けられます。
  3. Clastが0の値を返したときにtarget_rangeが壊れているのではないかと疑問に思っていますが、理由がわかりません。

私は何が欠けていますか?あなたの助け/フィードバックに感謝します!

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

答えて

0

この行を確認してください:

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

変数SSのリターンは現在、activespreadsheetが、それは時間駆動のトリガーから実行するときには、そこにはアクティブなシートがないので、シートを指定する必要がある場合は、getSheetByName()またはgetSheets()を使用して、次のような行を表示します。

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

希望すると、これが役立ちます。

ありがとうございました。

+0

これは完全に機能します!ありがとうございました! – xphrellis

関連する問題