2016-11-04 63 views
0

我是一個全新的編碼器,我想我的代碼在此過程中的工作:錯誤的值,恆錯誤

我填寫,導致電子表格 我想這個電子表格,檢查在一定值的形式另一個電子表格來查看它們是否匹配(電子表格中有很多值,我希望程序遍歷整個列) 如果它們匹配,我想要發送一封電子郵件給我,郵件中有匹配人員的姓名,即顯示在電子表格中我將要比較的同一行中。

我不工作代碼:

function myFunction(e) { 
    var genderSheet1 = e.values[19]; 
    var genderSheet2 = SpreadsheetApp.openById("To Populate"); 
    if (genderSheet1===genderSheet2) { 
    var userName = e.values[1]; 
    var userEmail = "email"; 
    var subject = "WORKER FOUND?"; 
    var message = "Dear " + userName + "," + 
     "\n\n\nThis is the finder" + 
    MailApp.sendEmail(userEmail, subject, message, {attachments:file.next().getBlob()}); 
    } 
} 

請幫幫忙!

回答

0

我會基於一些假設

  1. 你的代碼中有SpreadsheetApp.openById("To Populate")To Populate的改變是在實際的代碼真正的ID,而不是「填充」因爲這裏寫
  2. 你有設置一個觸發器來執行腳本觸發器中的表單提交

我還注意到,你沒有提到什麼問題,所以我不得不指出你的代碼中的一些問題,因爲我看到它。

首先var genderSheet1 = e.values[19];將是一個字符串值,而var genderSheet2 = SpreadsheetApp.openById("To Populate");是一個對象,所以if (genderSheet1===genderSheet2)將始終返回false。

然後我們有這個位MailApp.sendEmail(userEmail, subject, message, {attachments:file.next().getBlob()})然而,在代碼的任何地方沒有定義file。您使用的語法將指示您應該有一個返回fileIterator對象的DriveApp方法。您嘗試發送的附件是什麼?

請參閱documentation中的表單提交觸發器事件對象,以瞭解使用該事件處理程序時應該期待的內容。