2016-09-08 63 views
0

這是關於Google表格中的onFormSubmit()可安裝觸發器的問題Add-on。我已經嘗試了一切,我無法弄清楚爲什麼這個觸發器不會從附加組件中安裝。onFormSubmit觸發器不會安裝在附加組件

我知道一個用戶只能有一個附加組件中的每個觸發器類型,這是唯一的一個。我不認爲這是問題。用戶可以完全訪問電子表格文件和表單。加載項已安裝並啓用。

它只是不會安裝。我錯過了什麼?任何幫助,將不勝感激。


function verificationON() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet() 
    var headingspage = ss.getSheetByName('headings') 
    var formID = headingspage.getRange('C6').getValue() 
    var form = FormApp.openById(formID) 
    ScriptApp.newTrigger('formVerificationEmail') 
         .forForm(form).onFormSubmit().create()} 
+0

你有沒有看到 「執行成績單?」從「查看」菜單中,運行代碼後選擇「執行腳本」。在日誌的底部會有關於代碼是否成功執行的消息,以及錯誤是否在哪一行。爲附加組件安裝觸發器時,代碼應始終查找具有相同名稱的現有觸發器。如果找到現有的觸發器,則不要安裝新的觸發器,要麼刪除現有的觸發器並創建新的觸發器。 [鏈接到Apps腳本疑難解答](https://developers.google.com/apps-script/troubleshooting) –

+0

您的加載項是否包含onInstall(e)函數? –

回答

0

試試這個代碼:

function myFunction() { 
var sheet = SpreadsheetApp.openById('SHEET_ID'); 
var range = sheet.getLastRow(); //Get Last Row with Data 
var datas = sheet.getSheets()[0]; 
var startRow = range + 1; // First row of data to process 
var numRows = 1; // Number of rows to process 

var dataRange = datas.getRange(startRow, 1, numRows); 

// Fetch values for each row in the Range. 
var data = dataRange.getValues(); 
for (var i = 0; i = data.length; ++i) { 
var row = data[i]; 
var firstName = row[0] 
var lastName = row[1] 
var dateAdded = row[2] 
if(firstName == ""){ 
datas.getRange(startRow + i, 1).setValue(startRow); 
datas.getRange(startRow + i, 2).setValue("Me"); 
datas.getRange(startRow + i, 3).setValue(new Date()); 
} 
}; 
var form = FormApp.openById('FORM_ID'); 
ScriptApp.newTrigger('myFunction') 
.forForm(form) 
.onFormSubmit() 
.create(); 
} 

此示例代碼將在最後一行輸入一個值。

要檢查觸發設置(轉到資源>當前項目的觸發器/所有你觸發):

enter image description here

這裏有一些相關的文檔,可以幫助您:

相關問題