【2点教えてください】
GoogleスプレッドシートのGAS機能を使って
メールの一括送信スクリプトを作成したのですが、
(スクリプトエディタは下記に記載いたしました)
現時点ではtoのみしかそうしんできず、ここにCCを加えて
追加するにはどのようにしたらいいかご存じであればご教示いただきたいです。
また、値段を入れる際にスプレッドシートで1,000,000と入力しても
メールを送信すると1000000とカンマがなくなってしまいます。
こちらも何か解決策があればご教示いただけますでしょうか。
何卒宜しくお願い致します。
function
1 labels.forEach(function(label, index){ 2 mailSubject = mailSubject.split(`${${label}}`).join(values[index]) 3 mailBody = mailBody.split(`${${label}}`).join(values[index]) 4 }); 5 GmailApp.createDraft( 6 mailTo, 7 mailSubject, 8 mailBody 9 ); 10} 11 12function getTemplate(){ 13 const templateSheet = SpreadsheetApp.getActive().getSheetByName('テンプレート'); 14 const templateDataValues = templateSheet.getDataRange().getValues(); 15 if(templateDataValues.length == 2 && templateDataValues[0].length == 3){ 16 const range = SpreadsheetApp.getActive().getRange('A2:C2') 17 templateSheet.setActiveRange(range); 18 } 19 const templateValues = templateSheet.getActiveRange().getValues(); 20 if(templateValues.length != 1 || templateValues[0].length != 3){ 21 if(templateSheet.getDataRange().getValues()) 22 Browser.msgBox('エラー:「テンプレート」シートで、メールの件名と本文に利用したい行を、いずれか1行だけ選択状態にしてから、再実行してください。'); 23 throw new Error('エラー'); 24 } 25 26 const sheetName = templateValues[0][0]; 27 const mailSubject = templateValues[0][1]; 28 const mailBody = templateValues[0][2]; 29 30 return [sheetName, mailSubject, mailBody]; 31} 32 33 34function sendmailSet(){ 35 const [sheetName, mailSubject, mailBody] = getTemplate(); 36 const sheet = SpreadsheetApp.getActive().getSheetByName(sheetName); 37 const data = sheet.getDataRange().getValues(); 38 const labels = data[0] 39 const emailColumnIndex = labels.findIndex((value)=>value==="email"); 40 for (let i = 1; i < data.length; i++) { // 1行目はヘッダなので1から始める 41 let row = data[i] 42 let mailTo = row[emailColumnIndex]; // 送付先メールアドレス 43 let values = row; 44 if(mailTo && mailTo.length > 0 && mailTo.indexOf("@") > 0){ 45 sendmail(mailTo, mailSubject, mailBody, labels, values); 46 } 47 } 48} 49 50 51function onOpen(){ 52 const menu=[ 53 {name: "テンプレートでメールを送信", functionName: "sendmailSet"}, 54 ]; 55 SpreadsheetApp.getActiveSpreadsheet().addMenu("メール一括送信", menu); 56} 57コード
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/18 05:46