簡體   English   中英

如果特定單元格的值大於10,該如何觸發Google Spreadsheets腳本

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

因此,我有一個可以啟動電子郵件的腳本,並且我希望在特定單元格(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);}
    }
  }

在當前項目的觸發器下,我有以下內容:

運行:onEdit

事件:從電子表格開始編輯

現在,當我將單元格“ A5”設置為“ 21”時,腳本不會運行。 怎么了 我似乎無法弄清楚。 謝謝。

使用記錄器表明它確實起作用。 您可以在下面的示例中看到。 您可能想嘗試使用基於時間的觸發器,並將其設置為檢查每x的時間量並發送電子郵件。 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM