我正在努力解决谷歌表格中一个潜在的小问题。我只想将日期值复制到另一个单元格,而不更改日期格式等。
但是,如果我将日期保存在var中,记录器会找到“范围”。我也尝试了格式化,但最终得到了错误的日期、当前日期,或者什么都没有。
提示:单元格63,4包含一个日期值,格式为电子表格中的日期。
function test() {
var as = SpreadsheetApp.getActiveSpreadsheet();
var ss = as.getActiveSheet();
var start = ss.getRange(63,4);
var row = start.getRow();
var col = start.getColumn();
Logger.log(start);
start = new Date(0);
ss.getRange('C2').setValue(start);
...
}
运行此代码后,日志显示“RANGE”。
你知道如何解决这个问题吗?我认为我没有正确保存单元格,但我没有找到任何进一步的想法。
解释/问题:
解决方案:
替换:
var start = ss.getRange(63,4);
与:
var start = ss.getRange(63,4).getDisplayValue();
并删除该部分:
start = new Date(0);
因为这将覆盖分配给start
的当前值,这是您想要获取的所需日期。
代码片段:
function test() {
var as = SpreadsheetApp.getActiveSpreadsheet();
var ss = as.getActiveSheet();
var start = ss.getRange(63,4).getDisplayValue(); // cell D63
ss.getRange('C2').setValue(start);
}