2016-01-24 67 views
2

我在表單中使用Google Apps腳本,並試圖使用getActiveRange函數,但它似乎不適用於OnFormSubmit觸發器。 (見下面的代碼)我可以使用getActiveRange方法與OnFormSubmit觸發器嗎?

function offSetFunction() { 

    var s = SpreadsheetApp.getActiveSheet(); 
    var ss = s.getActiveRange(); 
    var rowOfProblem = ss.getRow(); 
    var columnOfProblem = ss.getColumn(); 
    var allText = s.getRange(rowOfProblem, columnOfProblem).getValue(); 
    var recipient = "meEmail"; 
    var subject1 = ss.offset(0,-8).getValue(); 
    var subject9 = ss.offset(0,-7).getValue(); 
    var subject2 = ss.offset(0,-6).getValue(); 
    var subject3= ss.offset(0,-5).getValue(); 
    var subject4 = ss.offset(0,-4).getValue(); 
    var subject5 = ss.offset(0,-3).getValue(); 
    var subject6 = ss.offset(0,-2).getValue(); 
    var subject7 = ss.offset(0,-1).getValue(); 
    var subject8 = ss.offset(0,0).getValue(); 
    var body = subject1 + "," + subject9 + "," + subject3 + "," + subject4 + "," +subject5 + "," + subject6 + "," + subject7 + "," + subject8 + "," + subject9; 



    MailApp.sendEmail(recipient,"the problem that" + subject1 + "submitted, was fixed", body); 


} 

任何幫助將不勝感激。

回答

1

「表單提交」觸發器可以與表單或電子表格一起使用。如果您在表單中使用它,則沒有與該表單關聯的活動工作表。但即使您將「表單提交」觸發器放入工作表中,工作表關閉時,「表單提交」觸發器也可以運行。所以,如果工作表關閉,則沒有活動範圍。您可能需要一種方法來確定哪些響應與當前表單提交相關聯。所以,您需要做一些事情,比如將響應ID記錄到工作表中,然後獲取提交響應的響應ID,獲取所有數據,循環訪問,並將當前響應ID與每個行中的響應ID進行比較表格。試圖通過使用時間戳識別正確的行可能不可取。

相關問題