当2个单元格的值相同时,我想创建一个带有YES_NO问题的警报。 1个单元格将具有当前时间[= now()],而另一个单元格将具有某个时间。 2次匹配时,我可以得到一个UI警报吗?这是我到目前为止编写的代码,即使时间不匹配,它也可以正常工作。
function LiDCOcheck(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ui = SpreadsheetApp.getUi();
var buttons = ui.ButtonSet.YES_NO;
var bed = ss.getRange("C2").getValue();
var due = ss.getRange("D2").getValue();
var time = ss.getRange("A2").getValue();
if (due=time){
var lidco = ui.alert("It hsa been 24 hours since the LiDCO in Bed " + bed + " was calibrated. Is it still required?", buttons);
if (lidco == ui.Button.YES){
ss.getRange("D2").setBackground('#6aa84f');}
else{
ss.getRange("D2").setValue('Not Required')}}
}
谢谢
答案 0 :(得分:0)
请注意,在您的原始脚本中,单等号是一个赋值,而双等号是比较所必需的。
if (due=time) {
是错误的,而
if (due==time) {
更好。但是,它仍然不起作用!
我通常发现,在处理电子表格中的日期或时间时,最好将其转换为javascript Date对象,以进行大多数操作,包括比较。
var due = new Date(ss.getRange("D2").getValue());
var time = new Date(ss.getRange("A2").getValue());
一个简单的比较只是比较getTime()
函数的结果,该时间以毫秒为单位。
if (due.getTime()==time.getTime()){
}