0

私は、完了したタスクを「完了」というシートに自動的に移動し、完了したタスクにタイムスタンプを追加する、単純なタスク リストに取り組んでいます。すべてが機能しています。唯一の問題は、タイムスタンプが完了したタイムスタンプ列に追加されると、正しくフォーマットされないことです (セルの中央)。

これを引き起こしている可能性のあるものについての情報をいただければ幸いです。

ここに私のスクリプトコードがあります:

function onEdit(event) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  if(s.getName() == "Uncompleted" && r.getColumn() == 1 && r.getValue() == "Yes") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Completed");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).moveTo(target);
    s.deleteRow(row);
    var completed = targetSheet.getRange(targetSheet.getLastRow(), 8);
    var time = s.getRange("H1").getValue();
    completed.setValue(time);
  }
 }

また、作業中のスプレッドシートは次の場所で表示できます。

https://docs.google.com/spreadsheet/ccc?key=0AiU2vLPIL9GldHgyRUJMMVk5TTlSQVR1cFN1Sk10Tnc&usp=sharing

4

2 に答える 2

0

1 つのオプションは、メソッドcopyTo(destination)を使用することです。

...
var completed = targetSheet.getRange(targetSheet.getLastRow(), 8);
/*var time = s.getRange("H1").getValue();
completed.setValue(time);*/
s.getRange("H1").copyTo(completed);
...
于 2013-08-26T13:06:16.300 に答える