[英]Google Sheet - Send Email
每次條件變為真時,我都需要我的 google 表格來發送電子郵件。 在這種情況下,每次 C2 的值都低於 J2 的值。 在單元格 L2 上有 email 地址。
代碼(在網上找到並剛剛編輯)
function CheckPrice() {
var LastPriceRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Alerts").getRange("C2");
var LastPrice = LastPriceRange.getValue();
var EntryLimitRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Alerts").getRange("J2");
var EntryLimit = LastPriceRange.getValue();
var StockNameRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Alerts").getRange("B2");
var StockName = LastPriceRange.getValue();
// Check totals sales
if (LastPrice < EntryLimit){
// Fetch the email address
var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Alerts").getRange("L2");
var emailAddress = emailRange.getValues();
// Send Alert Email.
var message = 'Ticker ' + StockName + ' has triggered the alert';
var subject = 'Stock Alert';
MailApp.sendEmail(emailAddress, subject, message);
}
}
使用此代碼我沒有收到任何錯誤,但我什至沒有收到 email。我在第一次運行腳本時按要求授予了權限。
在 L2 上,我放置了我授予權限的相同 email 地址(我將 email 發送給自己)。 我什至嘗試放置一個輔助 email 地址。
你能告訴我哪里出了問題嗎?
問題:
查看您定義LastPrice
、 EntryLimit
和StockName
的代碼的第一行。 他們都來自同一個范圍: LastPriceRange
。
我還刪除了腳本中所有不必要的調用。 無需多次調用SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Alerts")
,您只需將其放入一個變量並使用該變量即可。
此外,您不需要定義不必要的變量。 例如,您可以使用一行獲取單元格的值: sh.getRange("B2").getValue()
。
解決方案:
function CheckPrice() {
const sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Alerts");
const LastPrice = sh.getRange("C2").getValue();
const EntryLimit = sh.getRange("J2").getValue();
const StockName = sh.getRange("B2").getValue();
// Check totals sales
if (LastPrice < EntryLimit){
// Fetch the email address
const emailAddress = sh.getRange("L2").getValue();
// Send Alert Email.
const message = 'Ticker ' + StockName + ' has triggered the alert';
const subject = 'Stock Alert';
MailApp.sendEmail(emailAddress, subject, message);
}
}
如果您希望在編輯特定單元格時發送 email,則需要將上述解決方案轉換為onEdit(e)觸發器。 如果你想要一個時基觸發器,那么你可以直接使用上面的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.