2016-06-07 89 views
0

我已經編寫了一個使用Google工作表發送電子郵件的腳本。一切工作正常,除了標記第三列成功。第一個成功的電子郵件標記爲EMAIL_SENT,但沒有更改以下單元格。任何想法,爲什麼這不起作用?運行谷歌腳本後將每行標記爲成功

for (row = 1; row < emailLength && confirmation == ui.Button.YES; row++){ 

    var customerEmail = data[row][0]; // Customer's email in first column 

    var customerName = data[row][1]; // Customer's name in second column 

    var EMAIL_SENT = 'Success'; 

    if(customerName != ''){ 

     var body = '<font face="avenir" size="3"> Hi '+ customerName + ',<br><br>' 
     + paragraphOne + '<br><br>' 
     + paragraphTwo + '<br><br>' 
     + paragraphThree + '<br><br>' 
     + signature; 
    } 


    GmailApp.sendEmail(customerEmail, emailSubject, "", {htmlBody: body}); 

    sheet.getRange(row, 3).setValue(EMAIL_SENT); 
} 
}; 
+0

我不能肯定與你共享的代碼,但我第一次嘗試將是片狀物體超出範圍。當你執行你的代碼時,你在javascript控制檯上遇到任何錯誤? – Bardo

+1

行索引之間似乎存在不匹配。行= 1是工作表的第一行。但數據[1] [0]指的是你處理的第二行數據,因爲JavaScript索引從0開始。 – 2016-06-07 14:55:09

+0

@sandwich是有意識的,因爲有標題。雖然好想法! – tonestrike

回答

1

@bardo是在正確的軌道上。這個問題與getRange有關。通過代碼最初的方式,getRange(row,3)從第三列和第一行開始。我希望它在第二排開始。數據[行] [X]是很好的,因爲這些都是索引,但getRange需要的是getRange(row + 1 , 3)

​​