GoogleSheets脚本中的Javascript:使用setNumberFormat的帮助

GoogleSheets脚本中的Javascript:使用setNumberFormat的帮助,javascript,datetime,google-apps-script,google-sheets,date-formatting,Javascript,Datetime,Google Apps Script,Google Sheets,Date Formatting,希望这对你们来说是个简单的问题。我一点编码知识都没有。但是在谷歌工作表中使用下面的脚本从另一个工作表中获取变化的数据并每天记录,并随附。我记不起我在哪里找到了剧本——如果我找到了,我会回去问它的创建者。它一直运作良好;唯一的问题是我必须每天手动复制粘贴我喜欢的日期格式。因此,我希望脚本以“dd/MM/yyyy”格式打印日期(同时在单元格中保留小时和分钟数据)。我一直在网上阅读和搜索,并且做了很多年的实验,但都没有弄明白。这是基本代码: function recordHistory() { v

希望这对你们来说是个简单的问题。我一点编码知识都没有。但是在谷歌工作表中使用下面的脚本从另一个工作表中获取变化的数据并每天记录,并随附。我记不起我在哪里找到了剧本——如果我找到了,我会回去问它的创建者。它一直运作良好;唯一的问题是我必须每天手动复制粘贴我喜欢的日期格式。因此,我希望脚本以“dd/MM/yyyy”格式打印日期(同时在单元格中保留小时和分钟数据)。我一直在网上阅读和搜索,并且做了很多年的实验,但都没有弄明白。这是基本代码:

function recordHistory() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("History");
  var source = sheet.getRange("A2:C2");
  var values = source.getValues();
  values[0][0] = new Date();
  sheet.appendRow(values[0]);
};
我试着在不同的地方放置
setnumberformat
,但几乎总是会出错。也许我最好的尝试是,在我所见过的其他例子的启发下,添加以下新行:

function recordHistory() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("History");
  var source = sheet.getRange("A2:C2");
  var values = source.getValues();
  values[0][0] = new Date();
  sheet.appendRow(values[0]);
  var cell = SpreadsheetApp.getActiveSheet().getRange(2, 1, 979);
  cell.setNumberFormat("dd/MM/yyyy");
};

我希望这将在添加新数据后格式化整个日期行(A行)。可能是一个笨重的解决方案,即使它有效,但它没有。到目前为止,这是我唯一一次没有返回错误的尝试!那么,耶?但它不会改变日期格式。所以我放弃了。有什么想法吗

指定特定单元格的格式

var cell = sheet.getRange("A2");
cell.setNumberFormat("dd/MM/yyyy");

为一系列单元格指定格式的步骤

var cells = sheet.getRange("A2:C2");
cells.setNumberFormat("dd/MM/yyyy");

有关和,请参阅文档。

完美!我也离得很近。显然误解了getRange的文档建议。非常感谢!很高兴能帮上忙。请接受我的回答,为将来的读者解答这个问题我假设这是支持/反对票下面的绿色记号。如果是的话,就这样做。还感谢您的元提示:)