Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 谷歌脚本创建警报,如果2个单元格匹配_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 谷歌脚本创建警报,如果2个单元格匹配

Google apps script 谷歌脚本创建警报,如果2个单元格匹配,google-apps-script,google-sheets,Google Apps Script,Google Sheets,当两个单元格的值相同时,我想创建一个带有“是”或“否”问题的警报。1个单元格将具有当前时间[=now()],另一个单元格具有到期时间。当2次匹配时,我可以有一个ui警报。这是我到目前为止编写的代码,即使时间不匹配,它目前也可以工作 function LiDCOcheck(){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var ui = SpreadsheetApp.getUi(); var buttons = ui.ButtonS

当两个单元格的值相同时,我想创建一个带有“是”或“否”问题的警报。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')}}
}

谢谢

请注意,在您的原始脚本中,单个等于是一个赋值,而双等于是比较所必需的

if (due=time) {
这是错误的,而

if (due==time) {
这样更好。然而,它仍然不起作用

我通常发现,在处理电子表格中的日期或时间时,最好将其转换为javascript日期对象,以便进行大多数类型的操作,包括比较

var due = new Date(ss.getRange("D2").getValue());
var time = new Date(ss.getRange("A2").getValue());
一个简单的比较就是比较
getTime()
函数的结果,它是以毫秒为单位的时间

if (due.getTime()==time.getTime()){    

}

当然可以。请注意,当前时间的测量单位为毫秒。回顾JavaScript
Date
objectsSorry我不完全理解我是如何将它编写成我已经拥有的脚本的。你能根据我的脚本给我举个例子吗?什么是
due.value
?查看方法以从范围中获取值。我已编辑了上面的脚本。我想我已经使用了正确的方法来获得价值。我现在只想让脚本在两个值匹配时提示。请小心您的运算符,感谢@Aidan,不幸的是,这会导致同样的问题,即使时间不匹配,警报也会触发。我需要的是在任务到期时弹出一个提醒问题(到期时间=现在)。这可能吗?我已经添加了一个链接到我一直在使用的模拟表。