2012-10-08 38 views
0

我想發送一封電子郵件給特定的人,這取決於最後一行的數據,類似於vlookup功能。如果表格中輸入的數據是x,則發送郵件給喬,如果數據是發送郵件給插孔等。我很困惑如何在沒有活動範圍的情況下選擇範圍選擇,比如當您在電子表格視圖中時。如何在提交表單後從Google電子表格中給定列的最後一行獲取數據?

function sendEmails() 
{ 
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 
    var row = sheet.getLastRow(); 
    var data = sheet.getRange(row, 5).getValue(); 


if (data == "xxx") 
{ 
    sendmail //i got this 
} 

回答

0

在這種情況下(反應以表單提交)當電子表格不一定打開,應該優選使用這些方法來訪問一個片:

var ss = SpreadsheetApp.openById('the ID of the spreadsheet'); 
    var sh = ss.getSheets()[0];// access first sheet (0 indexed) 
    var row = sh.getLastRow(); 
    var data = sh.getRange(row, 5).getValue(); 
+0

非常感謝! – bazari

0

塞爾 -

我寫這個劇本如你所說,只是爲了替換最後一行:

return sh.getRange(row, 5).getValue(); 

而且PLAC在我的電子表格裏面。但是,電子表格中的單元格在新表單提交到達時不會更新...

應該做什麼?

+0

對不起,但我不明白你的問題......請你詳細說明一下嗎?另外:我認爲你應該最好開始一個新的問題... –

+0

我自己找到了答案,所以我會解釋這個問題以及我發現的解決方法:問題是,如果我編寫此函數,但它返回的是數據而不是發送電子郵件然後我從電子表格中調用該函數,然後在新表單數據到達時電子表格值不會更新。解決方法是將此最新值寫入函數內的給定範圍,並設置每次提交表單時調用的函數。 – Yizhak

相關問題