実現したいこと
期日になったらメールを送るようにしたい
前提
期日になったらメールを送るようにしたいがエラーが発生していて
初心者でまったくエラー内容がわからず困っております。
発生している問題・エラーメッセージ
エラーメッセージ Exception: The parameters (String,String,String) don't match the method signature for Utilities.formatDate. mailAlerts @ コード.gs:19
該当のソースコード
function mailAlerts() { //シートを取得 var bk = SpreadsheetApp.getActiveSpreadsheet(); var sh = bk.getActiveSheet(); var last_row = sh.getLastRow(); //最後の行を取得(繰り返し処理の回数) var begin_row = 2; // 処理を開始する行 (1行目は項目名なので2から) //今日の日付を取得し文字列を成型する var today = new Date(); var formatDate = Utilities.formatDate(today, "JST","yyyy/MM/dd"); //繰り返し処理(1行づつ処理し、行の数だけ繰り返す) for(var i = begin_row; i <= last_row; i++) { //それぞれのセルの中身を取得していく //納期(日付は成型する) var sell1 = "E"+i; var value1 = sh.getRange(sell1).getValue(); var value1 = Utilities.formatDate(value1, "JST","yyyy/MM/dd"); //状況 var sell2 = "B"+i; var value2 = sh.getRange(sell2).getValue(); //依頼者 var sell3 = "C"+i; var value3 = sh.getRange(sell3).getValue(); //依頼タイトル var sell5 = "D"+i; var value5 = sh.getRange(sell5).getValue(); //依頼内容 var sell6 = "E"+i; var value6 = sh.getRange(sell6).getValue(); var sell7 = "F"+i; var value7 = sh.getRange(sell7).getValue(); //もし、今日の日付と納期が同じで、なおかつ状況が完了でない場合メールを送る if(formatDate == value1 && value2 !== "未"){ GmailApp.sendEmail('tesuto@tesuto.co.jp', '【納期アラート】本日納期依頼'+ '/依頼タイトル:' + value5, '■依頼者:' + value3 + '\n■依頼内容:'+ value6 + '\n■状況:'+ value2 + '\n■納期:'+ value1); } } }
試したこと
Utilities.formatDateの意味を調べて
var formatDate = Utilities.formatDate(today, "JST","yyyy/MM/dd");
こちらを少し触ってみても状況は変わらずでした
> var formatDate = Utilities.formatDate(today, "JST","yyyy/MM/dd");
> こちらを少し触ってみても状況は変わらずでした
そこは関係ないです〜。
エラー文にも「@ コード.gs:19」とかいてありますので19行目が問題の箇所です。
こっち↓ですね
var value1 = sh.getRange(sell1).getValue();
var value1 = Utilities.formatDate(value1, "JST","yyyy/MM/dd");
sell1の値がどんなものかわかりかねますので、どう修正すべきかはこちらではわかりません。
スプレッドシートのスクショをあげていただくことは可能ですか?
ちなみにスペルはsellではなくcellが正しいです。
sellだと「売る」になります〜
ご丁寧にご教授頂き誠にありがとうございます。
スクリーンショットを上げさせていただきました。

回答1件
あなたの回答
tips
プレビュー