我正在为电子表格编写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,所以我甚至不知道==的意思。
答案 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()
斯特凡