前提・実現したいこと
本日の1ヶ月後の日付を「mm-dd」形式にフォーマット変換し、
取得した別のスプレッドシートにある日付データと比較して
一致するものだけ処理を実行させたいのですが、
不一致でも処理が実行されてしまいます。
どのように解決すればよいでしょうか。
スプレッドシートの日付データは、「2020-01-01」の形式で入力されており
年の一致は必要ないので、文字列を slice して「01-01」のみ比較しています。
該当のソースコード
function logDoc() {
var mySpreadSheet = SpreadsheetApp.openById("スプレッドシートID");
var mySheet = mySpreadSheet.getSheetByName('シート名');
var rowSheet=mySheet.getDataRange().getLastRow();
/* シートの全ての行について1ヶ月後の日付を判断*/
for(var i=2;i<=rowSheet;i++){
var strTo=mySheet.getRange(i,2).getValue(); //送信先メールアドレス
var strSenderName=mySheet.getRange(i,3).getValue(); //送り主名
var strAtena1=mySheet.getRange(i,9).getValue(); //宛先1
var strDate1=mySheet.getRange(i,10).getDisplayValue(); //記念日1
var str4 = strDate1.slice(5);
var strYoto1=mySheet.getRange(i,11).getValue(); //用途1
var date = new Date();
date.setMonth(date.getMonth() + 1); //1ヶ月後
var MMDD = Utilities.formatDate(date, 'JST', 'MM-dd');
/* 1ヶ月後の日付と記念日が合致したらログ表示*/
if(MMDD == str4);{
Logger.log(strBody);}
}
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/13 02:12