[英]Stock Inventory - Send email when cell value < 2 (Google Spreadsheet)
我目前正在嘗試使用Google電子表格為我的工作場所中經常使用的一些產品創建庫存。 此外,我正在嘗試提出一個腳本,當某個產品的價值低於2時,該腳本會向我發送電子郵件,以便我知道某個產品需要重新庫存。 我不了解編碼的基礎知識,但到目前為止,這是我得到的:
function readCell() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");
var ProductA = sheet.getRange("B2").getValue();
var Product B = sheet.getRange("B3").getValue();
var min = 2
if (ProductA<min) MailApp.sendEmail('n********@googlegroups.com', 'LOW REAGENT STOCK', 'Attention! Your stock of ProductA is running low. Please proceed to restock.');
if (ProductB<min) MailApp.sendEmail('n********@googlegroups.com', 'LOW REAGENT STOCK', 'Attention! Your stock of ProductB is running low. Please proceed to restock.');
}
我將觸發器放在onEdit上以運行腳本,並打算使用更多產品來擴展該列表。 問題是,如果一個產品的價格已經低於2,而另一個產品的價格發生變化,則腳本將為這兩個產品發送電子郵件。 隨着更多產品的推出,這變得很麻煩,因為如果其他值保持在2以下,我會收到一堆電子郵件。有人可以幫我解決這個問題嗎? 到目前為止,我還沒有找到任何解決方案,我將不勝感激。
謝謝!
當“ onEdit”觸發器觸發時,它將接收事件對象作為參數,其中包含一些有關上下文的有用信息,其中發生了編輯操作。
例如,
function onEdit(e) {
// range that was edited
var range = e.range;
//value prior to the edit action
var oldValue = e.oldValue;
//new value
var value = e.value;
//sheet the action came from
var sheet = range.getSheet();
//cell coordinates (if edited range is a single cell)
//or the upper left boundary of the edited range
var row = range.getRow();
var col = range.getColumn();
}
您可以檢查事件對象以獲取已編輯的單元格,然后查看它是否在B列中。
var productsColIndex = 1; //column A index;
var inventoryColIndex = 2; //column B index
var range = e.range;
var value = e.value;
var sheet = range.getSheet();
var editedRow = range.getRow();
var editedCol = range.getColumn();
var productName = sheet.getRange(editedRow, productsColIndex).getValue();
//checking if
//1) column B was edited
//2) the product exists in column A
//3) new value is less than 2
if ((editedCol == inventoryColIndex) && productName && value < 2) {
//code for sending notification email.
}
最后,由於像onEdit()這樣的簡單觸發器無法調用需要授權的服務,因此最好使用其他名稱創建一個函數,然后手動設置可安裝觸發器。 在腳本編輯器中,轉到“編輯”->“當前項目的觸發器”->“添加新觸發器”,從下拉列表中選擇函數名稱,然后選擇以下選項:“來自電子表格”,“編輯時” 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.