スプレッドシートで対応状況の管理をしています。 ステータスが対応中、完了に変更された場合にメールで自動通知を行う際に 違うメール文にて送付をしたいです。 作成したGASは下記の通り
コード
function onChangeStatus(e){ var cell = e.range; var status = e.value; var sheet = cell.getSheet(); var column = cell.getColumn(); var row = cell.getRow(); var lastRow = sheet.getLastRow(); if(column === 18 && row >= 2 && row <= lastRow && status === '対応中'){ sendEmail(row); }else if(column === 18 && row >= 2 && row <= lastRow && status === '完了'){ sendEmail(column);} } function sendEmail(row,column){ var FIELDS = { no: 0, task: 9, status: 4, client: 5, agent: 6, policy: 8, limit: 10, tel: 11, memo: 13, tantou: 14, taiou: 16, } var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues(); var index = row - 1; var myNo = values[index][FIELDS.no]; var task = values[index][FIELDS.task]; var status = values[index][FIELDS.status]; var client = values[index][FIELDS.client]; var agent = values[index][FIELDS.agent]; var policy = values[index][FIELDS.policy]; var limit = values[index][FIELDS.limit]; var memo = values[index][FIELDS.memo]; var tantou = values[index][FIELDS.tantou]; var taiou = values[index][FIELDS.taiou]; if(column === 18 && row >= 2 && row <= lastRow && status === '対応中'){ sendEmail(row) var recipient = 'アドレス'; var recipientName = '各位'; var subject = ''; subject += limit; subject += '受電記録 代理店'; subject += agent; var body = ''; body += recipientName + '\n\n'; body += '※※このメールは自動送信です。※※\n\n'; body += '以下の問い合わせを受け付けしました\n'; body += '担当者の方は対応をお願いいたします。\n\n'; body += '**********************************\n'; body += '【受付番号】\n'; body += myNo; body += '\n\n'; body += '【契約者】\n'; body += client; body += '\n\n'; body += '【代理店】\n'; body += agent; body += '\n\n'; body += '【証券番号】\n'; body += policy; body += '\n\n'; body += '【依頼内容】\n'; body += task; body += '\n\n'; body += '【対応期限】\n'; body += limit; body += '\n\n'; body += '【備考】\n'; body += memo; body += '\n\n'; body += '**********************************\n\n'; body += '対応が完了した際は、スプレッドシートのステータスを完了にしてください。\n'; body += 'URL'; GmailApp.sendEmail(recipient, subject, body); }else if(column === 18 && row >= 2 && row <= lastRow && status === '完了'){ sendEmail(column) var recipient = 'アドレス'; var recipientName = '各位'; var subject = ''; subject += '受電対応完了 代理店'; subject += agent; var body = ''; body += recipientName + '\n\n'; body += '※※このメールは自動送信です。※※\n\n'; body += '以下の問い合わせ対応が完了しました。\n'; body += '**********************************\n'; body += '【受付番号】\n'; body += myNo; body += '\n\n'; body += '【対応者】\n'; body += tantou; body += '\n\n'; body += '【対応内容】\n'; body += taiou; body += '\n\n'; body += '**********************************\n\n'; body += 'URL'; GmailApp.sendEmail(recipient, subject, body); } } ```### 試したこと if分の挿入箇所に迷い、onChangeStates、sendEmail の様々な箇所に変えてみましたが昨日しませんでした。 ⇒上記コードに変更しましたが、メールが送信されなくなってしまいました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/07 03:16 編集
2021/10/08 20:14
2021/10/11 05:04