簡體   English   中英

谷歌應用腳本表 if 語句發送 email

[英]Google apps script sheets if statement to send email

我有一張工作表,在單元格 B1 中我有一個公式,如果工作表上滿足某些條件,則顯示“TRUE”。

我在腳本上設置了一個基於時間的觸發器,如果 B1 狀態為 TRUE,則每 6 小時向我發送一個 email。

這是我正在使用的腳本:

function sendEmails2() {
   var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Function2")
   var range = sheet.getRange("B1")   

   if (range = "TRUE"){
      var emailAddress = "email@email.com"  
      var message = "Please check your MCR Tracker as it has new entries that neeed reviewing: URL" 
      var subject = "Your MCR Tracker has new entries"
      MailApp.sendEmail(emailAddress,"noreply@ocado.com", subject, message)
    }
}  

當我手動運行此腳本進行測試時,它正在發送 email,無論是否滿足條件,而不是僅在滿足條件時。

我對應用程序腳本非常陌生,如果我出錯了,我將不勝感激!

問題是在if語句的條件下,您使用的是賦值運算符 ( = ) 而不是比較運算符 ( == ),而且您應該首先獲取range的值以將其與 true 進行比較。

嘗試更換

if (range = "TRUE"){
   ...
}

if (range.getDisplayValue() === "TRUE"){
   ...
}

由於您使用公式來顯示“TRUE”,因此您應該在設置范圍變量的初始值時添加.getDisplayValue()。 像這樣:

替換var range = sheet.getRange("B1")

使用var range = sheet.getRange("B1").getDisplayValue();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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