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!就这样。谢谢大家!@欢迎光临。我很高兴你的问题解决了。