質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

2833閲覧

formatDateについて

T-K19851004

総合スコア1

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2021/08/24 00:04

前提・実現したいこと

所定のセルに完了と入っていないかつ、todayとvalue9の日付が同じ場合に通知メールをとぶように設定したい。

発生している問題・エラーメッセージ

Exception: The parameters (String,String,String) don't match the method signature for Utilities.formatDate.
mailAlerts

該当のソースコード

//今日の日付を取得し文字列を成型する
var today = new Date();  
var formatDate = Utilities.formatDate(today, "JST","yyyy/MM/dd");
//繰り返し処理(1行づつ処理し、行の数だけ繰り返す)
for(var i = begin_row; i <= last_row; i++) {
//それぞれのセルの中身を取得していく
//商品貸出日
var sell7 = "G"+i;
var value7 = sh.getRange(sell7).getValue();
var value7 = Utilities.formatDate(value7, "JST","yyyy/MM/dd"); 

//もし、今日の日付とvalue10が同じで、なおかつ状況が完了でない場合メールを送る
if(formatDate == value10 && value9 !=="完了"){
MailApp.sendEmail(recipient,

試したこと

スプレッドシートの表示形式を日付に変更しましたが、実行テストでエラーが発生しました。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

メール自体は配信されているが、Apps Scriptで実行テストをするとエラーが出てくる。
これは、問題ないのかご教示いただければと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

3_April_2021

2021/08/27 13:14 編集

このコメントを残す場合は補足を加える必要を感じていました。しかし、そもそもコメントを残す必要がないため、コメント自体を削除しておきます。
T-K19851004

2021/08/27 12:46

ありがとうございます。 console.log(value7);で確認後、 再度、新たなデータで作成すると、エラーがですに実行されました。 もしかしたら、日付データのだったのかもしれないです。ありがとうございました。
3_April_2021

2021/08/27 13:09

回答者やあなたの返答を見ると、スプレッドシートの形式を変更することでtypeを変更できるようですね。そのことを知らずにコメントしました、失礼しました。
guest

回答1

0

ベストアンサー

var value7 = sh.getRange(sell7).getValue();

この直後に

GAS

1console.log(value7);

を入れて確認してみてください。value7が日付データじゃないのでは。

投稿2021/08/24 00:58

itagagaki

総合スコア8402

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

T-K19851004

2021/08/24 03:32

ありがとうございます。 ログ情報では、日付が2021/08/25と、入力した日付になっておりました。。。
itagagaki

2021/08/24 03:45

var value7 = sh.getRange(sell7).getValue(); console.log(value7); もしシートのsell7に 2021/08/25 と入力されていたら 情報 Wed Aug 25 2021 00:00:00 GMT+0900 (Japan Standard Time) と表示されるはずです。おかしいですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問