【问题标题】:Formatting not retained after setValue()setValue() 后不保留格式
【发布时间】:2013-08-26 22:24:45
【问题描述】:

我正在制作一个简单的待办事项列表,该列表会在完成后自动将任务移至名为“已完成”的工作表,并为已完成的任务添加时间戳。一切正常,唯一的问题是当时间戳添加到完成的时间戳列时,它的格式不正确(单元格的中心)。

任何有关可能导致此问题的原因的意见将不胜感激!

这是我的脚本代码:

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

【问题讨论】:

    标签: javascript google-apps-script google-sheets google-docs


    【解决方案1】:

    一种选择是使用方法copyTo(destination)

    ...
    var completed = targetSheet.getRange(targetSheet.getLastRow(), 8);
    /*var time = s.getRange("H1").getValue();
    completed.setValue(time);*/
    s.getRange("H1").copyTo(completed);
    ...
    

    【讨论】:

      【解决方案2】:

      将以下行添加到您的代码中

      completed.setHorizontalAlignment("center");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-20
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多