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

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

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

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

Google Apps Script

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

String

Stringは、ゼロ以上の文字から連続してできた文字の集合を扱うデータ型です。基本的にテキストを表すために使われます。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

解決済

GASのエラー「Exception: パラメータ(String,String,String)が Utilities.formatDate のメソッドのシグネチャと一致しません」の解決方法を教えて下さい

RKJ
RKJ

総合スコア1

Google スプレッドシート

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

Google Apps Script

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

String

Stringは、ゼロ以上の文字から連続してできた文字の集合を扱うデータ型です。基本的にテキストを表すために使われます。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

1回答

0評価

1クリップ

1289閲覧

投稿2022/01/06 08:04

前提・実現したいこと

スプレッドシートで期日アラートメールを送信するシステムを作っています。
全くの初心者でwebからソースコードをコピーし、必要な箇所を書き換えて使用しており、
以下のエラーメッセージが発生しました。

ただ、コードを手動で実行すると、期日が過ぎた項目が正常にメールで届くのは届いているのです。

GASの本などで調べてみたのですが、基本的な事を分かっていない状態です。
期日が過ぎた時にアラートメールが届き、エラーを解決したいです。
解決方法をご教授願えませんでしょうか。

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

以下が設定したgoogleアカウントに届くエラーメッセージです。

イメージ説明

該当のソースコード

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 = "B"+i;
var value1 = sh.getRange(sell1).getValue();
var value1 = Utilities.formatDate(value1,"JST","yyyy/MM/dd");
//進捗状況
var sell2 = "C"+i;
var value2 = sh.getRange(sell2).getValue();
//施設名
var sell3 = "D"+i;
var value3 = sh.getRange(sell3).getValue();
//定期メンテナンス内容
var sell5 = "F"+i;
var value5 = sh.getRange(sell5).getValue();
//実施日
var sell6 = "H"+i;
var value6 = sh.getRange(sell6).getValue();

  //もし、今日の日付と納期が同じで、なおかつ状況が完了でない場合メールを送る
if(formatDate == value1 && value3 !== "完了"){
GmailApp.sendEmail('※ここにはメールアドレスを入力しています',
'【定期メンテ通知】施設名:' + value2 + '/' + value5,
'■施設名:' + value3 + '\n■定期メンテナンス内容:'+ value5 + '\n■実施日:'+ value6);
}
}

}

試したこと

webで調べたところ、(String,String,String)のエラーは文字が間違っているかと思い、

var formatDate = Utilities.formatDate(today,"JST","yyyy/MM/dd");

の箇所のtodayの後ろに空白が入っていたので削除しました。
ただ、削除する際に半角か全角かは確認しませんでした・・・

しかし、解決せずエラーになります。

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

MacでGASを入力しています。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Google スプレッドシート

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

Google Apps Script

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

String

Stringは、ゼロ以上の文字から連続してできた文字の集合を扱うデータ型です。基本的にテキストを表すために使われます。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。