Google表格:当单元格内容更改为“是”时显示浏览器msgBox

时间:2014-10-09 13:07:19

标签: google-apps-script google-sheets

我有一个非常简单的功能,当单元格的内容从“No”变为“Yes”时需要显示一条消息。我编写的代码运行良好,但无论输入的数据如何,消息都会显示。仅当单元格内容为“是”

时,才会显示该消息

这是我的代码:

function onEdit(e){
  var sheet = SpreadsheetApp.getActiveSheet();
  var mftCell = sheet.getRange("E25:E26");
  if (mftCell="Yes");
  Browser.msgBox('Enter the % in the next cell!');
}

由于

1 个答案:

答案 0 :(得分:1)

这里有一些问题。

  1. 现在编写代码的方式,Browser.msgBox调用不依赖于if语句。换句话说,您的代码检查值是否等于是,然后继续到下一行。您应该尝试 if (mftCell == "Yes") { Browser.msgBox(whatever); }

  2. getRange()方法返回范围,而不是范围中的值。您应该在调用之后添加对.getValues()的调用以获取范围。请参阅:https://developers.google.com/apps-script/reference/spreadsheet/range#getValues()

  3. 请记住,即使只有一个单元格,getValues也会返回一个二维数组,因此您需要通过myValues[0][0]之类的内容访问该值,以便查看特定值的值细胞

  4. 您希望在用户在字段中输入文本的比较中调用.toLowerCase()。 “是”==“是”评估为假,因此您应该有类似if (values[0][0].toLowerCase( == "yes" 的内容或输入“是”或“是”的用户或任何不会触发您的消息的内容。

  5. 此外,在if语句中需要'=='而不是'='。