4

我需要運行)通過onedit(觸發的腳本只有一個片材的許多。使用onedit()觸發的谷歌片

我曾嘗試以下,但目前我不能拿到劇本上下工夫只是希望的紙頁(「清單」)我肯定這將是有人知道很簡單:

function onEdit(e) { 
    var range = e.range; 
    if(range.getSheetName() == "Inventory") { 
     if(range.getValue() == "notify") { 
      range.setBackgroundColor('red'); 
      var productname = range.offset(0,-3).getValue(); 
      var productinventory = range.offset(0,-2).getValue(); 
      var message = "Product variant " + productname + " has dropped to " + productinventory; 
      var subject = "Low Stock Notification"; 
      var emailAddress = "[email protected]"; 
      MailApp.sendEmail(emailAddress, subject, message); 
      range.offset(0,1).setValue("notified"); 
     } 
    } 
} 

謝謝!

回答

10

嘗試這樣的事情,看看它的工作原理:

function onEdit(e) { 
    var activeSheet = e.source.getActiveSheet(); 
    var range = e.range; 
    if (activeSheet.getName() !== "Inventory" || e.value !== "notify") return; 
    range.setBackgroundColor('red'); 
    var productname = range.offset(0, -3).getValue(); 
    var productinventory = range.offset(0, -2).getValue(); 
    var message = "Product variant " + productname + " has dropped to " + productinventory; 
    var subject = "Low Stock Notification"; 
    var emailAddress = "[email protected]"; 
    MailApp.sendEmail(emailAddress, subject, message); 
    range.offset(0, 1).setValue("notified"); 
} 

現在腳本會如果活動表不是「庫存」或編輯的值不是「通知」退出。

+3

雖然這是一個onEdit腳本,你必須使用一個可安裝觸發器(附加電子表格的編輯觸發>),因爲發送電子郵件的。 – JPV 2014-11-24 19:05:57

+0

感謝JPV,不幸的是這並沒有奏效。它似乎沒有認出這張紙。由於我已經安裝了onedit,因此該功能的其餘部分在任何工作表上都可以正常工作。我似乎無法讓它在這一套上工作!感謝您的任何建議! – adamsportstech 2014-11-24 20:15:54

+1

您是否檢查標籤中的名稱是否不包含多餘的空格? – JPV 2014-11-24 21:24:06