下記のようなスプレッドシートがあり、表にある日付の5日前になったら、隣のセルの値を取得し、slackに通知したのですが、うまくいきません。
統合している値を取得するにはどのようにしたらよろしいでしょうか?
宜しくお願い致します。
function alertContract() { var mySheet = SpreadsheetApp.openById('xxxxxxxxx').getSheetByName('xxxxx'); //スプレッドシートを取得 var lastRow = mySheet.getLastRow(); //スプレッドシートの最終行を取得 var today = new Date(); //今日の日付を取得 var today_format = Utilities.formatDate(today, "JST", "yyyy/MM/dd"); /* 契約見直日まで5日切っていたらSlack投稿 */ for (var i = 2; i <= lastRow; i++) { var jname = mySheet.getRange(i, 3).getValue(); var dateHi = new Date(mySheet.getRange(i, 4).getValue()); var strLimit_format = Utilities.formatDate(dateHi, "JST", "yyyy/MM/dd"); var strLimit_30Date = new Date(dateHi.getFullYear(), dateHi.getMonth(), dateHi.getDate() - 5); //期限の5日前 var strLimit_30Date_format = Utilities.formatDate(strLimit_30Date,"JST","yyyy/MM/dd"); if ( today_format == strLimit_30Date_format ) { //5日前に告知 //通知文を作成 Logger.log(today_format); var strText = "jname + "の期限です。"; //Slackへ投稿 postSlack(strText); } } } function postSlack(strText) { //payload var payload = { channel: "xxxxxxxx", 'text' : strText, 'link_names' : "1", // }; var options = { 'method' : 'post' , 'contentType' : 'application/json' , 'payload' : JSON.stringify(payload), }; // Webhook URL へPOSTする var url = 'https://xxxxxxxxxxxxxxxxxxx'; //「2.SlackのIncoming WebHooksの登録しよう」で払い出したURLを指定 UrlFetchApp.fetch(url,options); }
回答2件
あなたの回答
tips
プレビュー