GASのメール送信で日付の表記を直したいです。
シート1にメールのテンプレート文章を作成しており、
シート2に必要事項を入力しメール送信ボタンを押すと
シート2の情報がシート1のメール文章に反映されメールを送信できるのですが
(下記画像のようなものを作成しました)
このままメールを送信するとメール内の日付表記が
【期間】Thu Apr 01 2021 00:00:00 GMT+0900 (日本標準時) ~ Fri Apr 30 2021 00:00:00 GMT+0900 (日本標準時)
このような表記になってしまいます。
これをYY/MM/DDの表記に直せますでしょうか。
スクリプトエディタはこんな感じです。↓
function sendmail(mailTo, mailSubject, mailBody, labels, values) { labels.forEach(function(label, index){ mailSubject = mailSubject.split(`${${label}}`).join(values[index]) mailBody = mailBody.split(`${${label}}`).join(values[index]) }); GmailApp.createDraft( mailTo, mailSubject, mailBody ); } function getTemplate(){ const templateSheet = SpreadsheetApp.getActive().getSheetByName('テンプレート'); const templateDataValues = templateSheet.getDataRange().getValues(); if(templateDataValues.length == 2 && templateDataValues[0].length == 3){ const range = SpreadsheetApp.getActive().getRange('A2:C2') templateSheet.setActiveRange(range); } const templateValues = templateSheet.getActiveRange().getValues(); if(templateValues.length != 1 || templateValues[0].length != 3){ if(templateSheet.getDataRange().getValues()) Browser.msgBox('エラー:「テンプレート」シートで、メールの件名と本文に利用したい行を、いずれか1行だけ選択状態にしてから、再実行してください。'); throw new Error('エラー'); } const sheetName = templateValues[0][0]; const mailSubject = templateValues[0][1]; const mailBody = templateValues[0][2]; return [sheetName, mailSubject, mailBody]; } function sendmailSet(){ const [sheetName, mailSubject, mailBody] = getTemplate(); const sheet = SpreadsheetApp.getActive().getSheetByName(sheetName); const data = sheet.getDataRange().getValues(); const labels = data[0] const emailColumnIndex = labels.findIndex((value)=>value==="email"); for (let i = 1; i < data.length; i++) { // 1行目はヘッダなので1から始める let row = data[i] let mailTo = row[emailColumnIndex]; // 送付先メールアドレス let values = row; if(mailTo && mailTo.length > 0 && mailTo.indexOf("@") > 0){ sendmail(mailTo, mailSubject, mailBody, labels, values); } } } function onOpen(){ const menu=[ {name: "テンプレートでメールを送信", functionName: "sendmailSet"}, ]; SpreadsheetApp.getActiveSpreadsheet().addMenu("メール一括送信", menu); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/23 05:06