Google apps script 这是谷歌应用程序脚本SpreadsheetApp Range.copyTo中的错误吗

Google apps script 这是谷歌应用程序脚本SpreadsheetApp Range.copyTo中的错误吗,google-apps-script,google-sheets,google-sheets-api,Google Apps Script,Google Sheets,Google Sheets Api,我正在尝试将单元格值设置为=now(),然后仅复制/粘贴该值。如果我使用Sheet.appendRow()设置单元格值,它会工作,但是如果我使用Range.setValue()或Range.setFormula()它不会工作 这可以工作: // add a new row SpreadsheetApp.getActiveSheet().appendRow(["=now()"]); // copy it and paste just the value back into the same ce

我正在尝试将单元格值设置为
=now()
,然后仅复制/粘贴该值。如果我使用
Sheet.appendRow()
设置单元格值,它会工作,但是如果我使用
Range.setValue()
Range.setFormula()
它不会工作

可以工作:

// add a new row
SpreadsheetApp.getActiveSheet().appendRow(["=now()"]);

// copy it and paste just the value back into the same cell
SpreadsheetApp.getActiveSheet().getRange(1, 1).copyTo(SpreadsheetApp.getActiveSheet().getRange(1, 1), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
// set A1 to now
SpreadsheetApp.getActiveSheet().getRange(1, 1).setValue("=now()");

// copy it and paste just the value back into the same cell
SpreadsheetApp.getActiveSheet().getRange(1, 1).copyTo(SpreadsheetApp.getActiveSheet().getRange(1, 1), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
不起作用:

// add a new row
SpreadsheetApp.getActiveSheet().appendRow(["=now()"]);

// copy it and paste just the value back into the same cell
SpreadsheetApp.getActiveSheet().getRange(1, 1).copyTo(SpreadsheetApp.getActiveSheet().getRange(1, 1), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
// set A1 to now
SpreadsheetApp.getActiveSheet().getRange(1, 1).setValue("=now()");

// copy it and paste just the value back into the same cell
SpreadsheetApp.getActiveSheet().getRange(1, 1).copyTo(SpreadsheetApp.getActiveSheet().getRange(1, 1), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
第二个似乎是空的细胞


不确定我是否做错了什么,或者这是一个bug?

使用
SpreadsheetApp.flush()
到下面的第二个脚本如何

修改脚本: 注:
  • 尽管这是我的猜测,但我认为
    appendRow()
    的作用可能与从外部使用电子表格的情况相同
参考文献

如果我误解了你的问题,而这不是你想要的结果,我道歉。

Doh!就这样。谢谢大家!@欢迎光临。我很高兴你的问题解决了。