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

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

新規登録して質問してみよう
ただいま回答率
87.20%
Google Apps Script

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

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

解決済

格納した配列が空白の場合は処理を実行しないようにしたい(GAS)

退会済みユーザー

退会済みユーザー

総合スコア0

Google Apps Script

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

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

2回答

0評価

0クリップ

680閲覧

投稿2021/12/31 05:01

前提・実現したいこと

配列が空白の場合、Slackへ通知しないようにしたいです。

現状は空白の場合でも処理するようにしているのですが、nullだと対応できないようなので困っております。
※一部のコードは削除して記載しています。

該当のソースコード

GAS

// シートを取得し、progressValに格納 var Sheet = spreadsheet.getSheetByName("シート名"); var progressVal = Sheet.getRange(1,1,Sheet.getLastRow(),Sheet.getLastColumn()).getValues(); //1行ごとに処理 for(i=0; i<progressVal.length; i++){ //各情報を取得 date = new Date(progressVal[i][0]); code = progressVal[i][1]; Status = progressVal[i][2]; Submission = progressVal[i][10]; //処理対象かをで確認する(セルが 1=対象・0=対象外) if (Submission == "1" ) { //処理対象の場合は各情報を格納する dateArray.push([Utilities.formatDate(date,'Asia/Tokyo','yyyy/MM/dd'),code,Status]); } else { //デバック用 Logger.log((i+0) + "行目は処理対象外"); } } // Slack通知用 if (dateArray[1] == null) { // 空白のため処理は必要ない。自分宛にその内容のメールを送信する。 MailApp.sendEmail(toAddress,subject,main); } else { // Slackのチャンネル宛に必要事項を記載し投稿する。 UrlFetchApp.fetch(slackURL, slackOptions); }

自身で対応できていない事

dateArray.push([Utilities.formatDate(date,'Asia/Tokyo','yyyy/MM/dd'),code,Status]);

上記で配列に格納した情報が空白(処理対象外のみだった場合)に、SlackにslackOptions(main)で指定した定型文だけ送られてしまうため
dateArray[1]が空白の場合はSlackに送らないようにしたいですが出来ず困っています。

▼空白状態のイメージ(処理対象があった場合は、線の間にセルから取得した情報が記載されます。)

================================================

================================================

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

Google Apps Script

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

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。