javascript - Google scripts for Spreadsheets (If statements) -
i hoping can me issue. new coding. have google spreadsheet script pushes out email. attempting have script ignore rows script has sent out email on. please! in advance!
function onopen() { var ui = spreadsheetapp.getui(); // or documentapp or formapp. ui.createmenu('email menu') .additem('send email', 'myfunction') .addseparator() .addtoui(); }; function myfunction() { var msg = 'email sent!'; var ss = spreadsheetapp.getactivespreadsheet() var sheet = ss.getactivesheet(); var range = sheet.getdatarange(); var values = range.getvalues(); var email_sent = "email_sent"; var startrow = 2; (i=1; i<values.length;i++) { //sent = values[i][4]; //added in try , skip row if "x" in sent column //if (sent ==" ", ) //added in try , skip row if "x" in send column var email = values[i][0]; var name = values[i][i]; var subject = values[i][2]; var body = values[i][3]; var sent = values[i][5]; if (sent != email_sent){ mailapp.sendemail(email, subject, body); sheet.getrange(startrow + i,5).setvalue(email_sent); spreadsheetapp.getui().alert(msg); } }}
implement following changes in loop:
for (i=1; i<values.length;i++) { var email = values[i][0]; var name = values[i][1]; //not [i][i] ! var subject = values[i][2]; var body = values[i][3]; var sent = values[i][4]; if (sent !== email_sent){ sheet.getrange(i+1,5).setvalue(email_sent); } } basically rid of startrow variable (if not using elsewhere) , use (i+1,5) place "email_sent" in right column. have removed parts of code sake of clarity.
Comments
Post a Comment