スプレッドシートのシートの内容が更新されたら
その内容を指定のメールアドレスにそれぞれ送るというシステムを作りたいです。
以下のサイトを参考にし、とりあえずやりたいことは実現したのですが、
シートが更新されたら上から順に全ての行に対して都度実行されてしまうので、
新しく更新された行にだけメールの送信がかかるように変えたいです。
ご教示くださいませ。
参考サイト↓
https://tonari-it.com/gas-mail-magazine/
使用中のコード↓
function sendMail(){ const sheet = SpreadsheetApp.getActiveSheet(); const lastRow = sheet.getLastRow();; const DOC_URL = '*****ドキュメントのURL*****'; const doc = DocumentApp.openByUrl(DOC_URL); const docText = doc.getBody().getText(); const subject = 'メルマガ送信テスト'; const options = {name: 'いつも隣にITのお仕事'}; for(let i = 2; i <= lastRow; i++){ const company = sheet.getRange(i, 1).getValue(); const lastName = sheet.getRange(i, 2).getValue(); //姓 const firstName = sheet.getRange(i, 3).getValue(); //名 const recipient = sheet.getRange(i, 4).getValue(); const body = docText .replace('{社名}',company) .replace('{姓}',lastName) .replace('{名}',firstName); GmailApp.sendEmail(recipient, subject, body, options); } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/07 08:58