2013-05-17 48 views
0

現在我正在嘗試使用與谷歌Apps腳本的電子表格上列出來發送電子郵件。GAS:在電子表格中的錯誤郵寄

我編碼方式類似於下面的(當然,只是在本書實際上覆制和粘貼示例程序),但出現錯誤是:「空的‘’類型錯誤無法調用」 getLastRow

function sendMail() { 
    var mySS = SpreadsheetApp.getActiveSpreadsheet(); 
    var mailSheet = mySS.getSheetByName("メール"); 
    var addSheet = mySS.getSheetByName("住所録"); 
    var endRow = addSheet.getLastRow(); 
    var mySubject = mailSheet.getRange("C2").getValue(); 

    for (i = 2; i <= endRow; i++) { 
    if (addSheet.getRange(i, 3).getValue()) { 
     var myBody = addSheet.getRange(i, 1) 
     .getValue() + "様¥n¥n"; 
     myBody = myBody + mailSheet.getRange("C3").getValue(); 
     var mailTo = addSheet.getRange(i, 2).getValue(); 
     GmailApp.sendEmail(mailTo, mySubject, myBody); 
    } 
    } 
    Browser.msgBox("メール送信しました"); 
} 

遺憾的一些包括日本,但我創建了2張名爲「メール」和「住所錄」,然後輸入數據。

有人能幫助我解決這個問題?

回答

0

您的電子表格做沒有名爲表「住所錄」。

方法getSheetByName不會拋出一個錯誤,如果未找到表,它只是返回null

+0

喜Srik和塔拉斯, 謝謝您的答覆樣!發佈這篇文章後,我找到了一個解決方案。我完全誤解了。 由於塔拉斯指出,有沒有表名爲「住所錄「。 之所以沒有表是我弄錯片‘另一個電子表格。’ 我做‘メール’和‘住所錄’分開。 謝謝夥計們! – Taka

0

我認爲問題在於你的表名是日文的。 腳本在Google服務器中使用的編碼將有所不同。因此,它不會返回任何表單。重命名你的牀單英語,也將努力