失踪 ;首次尝试脚本时出错

时间:2016-04-05 14:19:35

标签: google-apps-script google-sheets

我正在为电子表格编写OnOpen脚本。 我在单元格B1中有一个数字,在C1中有一个日期 打开电子表格时,我想检查工作表上的日期是否为今天,如果没有,它将更改工作表的日期,并将B1中的数字重置为0

我收到错误的错误;在声明之前。 (第8行,文件"代码") (这是If Statement)

function OnOpen(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Create Ticket");
  var TicketCount = sheet.getRange("B1").getvalue();
  var TicketDate = sheet.getRange("C1").getvalue();
  var Today = date().setNumberFormat("dd/mm/yyyy");

  If not TicketDate = Today {
    sheet.getRange("C1").setValue(new Date()).setNumberFormat("dd/mm/yyyy");
    sheet.getRange("B1").setvalue(0);
  }
}

这对我来说是全新的,所以如果这是基本的话我会道歉。我做过的唯一编码是简单的VBA,所以我甚至不知道==的意思。

1 个答案:

答案 0 :(得分:1)

您可以尝试此功能

function onOpen(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Create Ticket");
  var TicketCount = sheet.getRange('B1').getValue();
  var TicketDate = Utilities.formatDate(new Date(sheet.getRange("C1").getValue()),Session.getScriptTimeZone(),"dd/MM/yyyy");
  var Today = Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"dd/MM/yyyy");
  if(TicketDate != Today) {
    sheet.getRange("C1").setValue(Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"dd/MM/yyyy"));
    sheet.getRange("B1").setValue(0);
  }
}

要小心,因为在您的代码中存在一些拼写错误。 setvalue =>设定值 getvalue =>的getValue

这会产生错误。

要格式化日期,您可以使用Utilities.formatDate()

斯特凡