简体   繁体   English

如果特定单元格的值大于10,该如何触发Google Spreadsheets脚本

[英]How can I trigger Google Spreadsheets script if a specific cell contains a value greater than, say, 10

So I have a script that would launch an e-mail, and I want it to be run when a specific cell (A5) contains a value over 10. Here's the script: 因此,我有一个可以启动电子邮件的脚本,并且我希望在特定单元格(A5)的值超过10时运行它。这是脚本:

function onEdit() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rownum = 1; // #of rows
  var rowstart = 2; // where to start row

  // get range of cell
  // column 1 = email, column 2 is first name
  var dataRange = sheet.getRange(rowstart, 1, rownum, 2)


  var data = dataRange.getValues()
  for (i in data) {
    if(sheet.getRange(5,1).getValue()>10){      //change row and column in get range to match what you need
      var row = data[i];
      var emailadr = row[0]; // data select
      var msgcontent = "Hey " + row[1] + ",\n Just:)chilling \n    Sent from my email"; // body
      var sbjt = "You have mail!"; //subject
      MailApp.sendEmail(emailadr, sbjt, msgcontent);}
    }
  }

Under Current project's triggers, I have the following: 在当前项目的触发器下,我有以下内容:

Run: onEdit 运行:onEdit

Events: From spreadsheet On edit 事件:从电子表格开始编辑

Now, when I set cell "A5" to "21", the script doesn't run. 现在,当我将单元格“ A5”设置为“ 21”时,脚本不会运行。 What's the issue? 怎么了 I can't seem to figure it out. 我似乎无法弄清楚。 Thanks. 谢谢。

Using logger it shows that it does work. 使用记录器表明它确实起作用。 You can see in example below. 您可以在下面的示例中看到。 You may want to try to use a time based trigger and set it to check every x amount of time and send email. 您可能想尝试使用基于时间的触发器,并将其设置为检查每x的时间量并发送电子邮件。 Google may not allow the sendemail to run "onedit" Google可能不允许sendemail运行“ onedit”

 function onEdit() { var sheet = SpreadsheetApp.getActiveSheet(); var rownum = 1; // #of rows var rowstart = 2; // where to start row // get range of cell // column 1 = email, column 2 is first name var dataRange = sheet.getRange(rowstart, 1, rownum, 2) var data = dataRange.getValues() for (i in data) { if(sheet.getRange(5,1).getValue()>10){ //change row and column in get range to match what you need var row = data[i]; Logger.log("Yes it is larger than 10"); // var emailadr = row[0]; // data select // var msgcontent = "Hey " + row[1] + ",\\n Just:)chilling \\n Sent from my email"; // body // var sbjt = "You have mail!"; //subject // MailApp.sendEmail(emailadr, sbjt, msgcontent); } } } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Google 脚本:如果单元格包含比今天早 10 天的日期,如何隐藏一行 - Google script: How to hide a row if a cell contains a date 10 days older than today's date 我如何使用v-for循环显示(如果索引大于VUEJS中的值)(+10) - How can I show (+10 more) if index is greater than value in VUEJS using v-for loop 如何测试 Jasmine 中的值是否“大于或等于”? - How can I test that a value is “greater than or equal to” in Jasmine? 当特定单元格的值更改时,如何使Google表格脚本发送电子邮件? - How do I make a Google Sheet script send an email when a specific cell's value changes? Google App脚本-Google Spreadsheets根据单元格值有效地移动行 - Google App Script - Google Spreadsheets Move Row based on cell value efficiently 如何使用Reactjs更新Google Spreadsheets中的特定行? - How do I update specific rows in Google Spreadsheets using Reactjs? 我怎么能说如果包含任何给定的单词然后显示? - how can I say if contains any of given words then show? 我有一个范围 slider 我想控制值的变化。 如果 slider 值大于 0.. 说好日子 - I have a range slider in which I want to control the value change. If slider value is greater than 0.. say good day 当单元格值大于特定值时,以不同的颜色突出显示 html td - Highlight html td by diffrent color when cell value is greater than specific value 当屏幕宽度大于特定宽度时如何恢复事件 - How I can restore an event when screen width is greater than specific width
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM