2017-03-15 80 views
0

我正在使用Google腳本,然後在Google表格中的某個列發生更改時發送電子郵件。單元格中的信息可以手動輸入,也可以使用基於其他單元格中的信息的公式完成。公式更改單元格值時觸發腳本

當手動輸入信息時,腳本工作正常,但公式運行時沒有。我已經讀過它並意識到公式計算不算作編輯,那麼如何讓腳本運行?

它目前已設置爲在電子表格中進行編輯時觸發。

下面是我的腳本中涉及到列/單元格的部分。

function sendEmail() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getActiveSheet(); 
    var row = sheet.getActiveRange().getRow(); 
    var cellvalue = ss.getActiveCell().getValue().toString(); 

    if(sheet.getActiveRange().getColumn() == 12) 

腳本中還包含很多內容,所以我沒有將所有內容都複製到這裏。提前謝謝了。

+0

是否通過onEdit觸發運行你的腳本?如果是這樣,是否檢查以查看哪個單元格被編輯?如果是,那麼您可能需要檢查手動更改的單元格並導致公式更改值。你可以在你的文章中包含代碼,以便可以查看它嗎? –

回答

0

公式更改時沒有可以運行的觸發器。

嘗試弄清楚,條件是你的公式依賴於:

  1. 如果它是另一個細胞,手動輸入,然後使用這些細胞來觸發它與onEdit
  2. 如果從公式進口數據變化外部來源,使用隨機或時間函數,你最好使用onTime trigger
  3. 如果公式使用importrange然後去導入的範圍,看到原來的範圍,回到步驟1→2 ...
+0

我使用的公式是= IF(AND(G28 <=999,G28> 0),「Approved」,「」)。如果G的值大於1000,則有人手動將註釋輸入列L.這樣做的確允許腳本運行,但顯然不是在公式完成單元格時運行。 –

+0

你是對的,只有當你改變G28時,觸發器才能運行。公式不會影響觸發器。那是我的答案。 –

相關問題