前提・実現したいこと
GASでメールの定期配信のエラー(不具合)を解決したい。
コードで設定した時間ではトリガーが起動しません。
送信日というシートに当日があれば特定の時間にメールを送信するというコードです。
該当のソースコード
GAS
1function setTrigger(){ 2var ss = SpreadsheetApp.getActiveSpreadsheet(); 3ss.setActiveSheet(ss.getSheetByName('送信日')); 4var sheet = SpreadsheetApp.getActiveSheet(); 5 6var today = new Date() 7today = Utilities.formatDate(today,"JST", "yyyy/MM/dd") 8var lastRow =sheet.getLastRow(); 9 10var count =0 11 12for(let i = 2 ; i<= lastRow ;i=i+1){ 13 date_value = sheet.getRange(i,1).getValue(); 14 date_value = Utilities.formatDate(date_value,"JST", "yyyy/MM/dd") 15 if(date_value === today){ 16 count= 1 17 } 18} 19 20// 今日の日付があった場合(count=1)はメールを送る(send_mailを実行)。 21if(count !== 0){ 22 const time = new Date(); 23 time.setHours(7); 24 time.setMinutes(00); 25 ScriptApp.newTrigger("send_mail").timeBased().at(time).create(); 26} 27 28}
試したこと
"send_mail"は正常に作動します。
できたトリガーの設定を手動で変更するとトリガーが起動します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。