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

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

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

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

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Google Apps Script

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

Slack

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

1回答

767閲覧

GoogleスプレッドシートからGASでslackへアラートを飛ばす際、土日祝はアラートを出さないようにするには

orange1

総合スコア5

Google スプレッドシート

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

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Google Apps Script

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

Slack

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

2クリップ

投稿2020/02/14 03:57

前提・実現したいこと

GoogleスプレッドシートからGASでslackへアラートを飛ばす際、土日祝はアラートを出さないようにする式を
記載しましたが、土日祝でもアラートが飛んでしまいます。
誤り箇所をご教授下さい。

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

エラーメッセージは特にないですが、土日祝でslackへのアラートが飛ばないようにしたい

該当のソースコード

// 休日は実行させない var currentDate = new Date(); var weekday = currentDate.getDay(); if (weekday == 0 || weekday == 6) { return; } var calendar = CalendarApp.getCalendarById('ja.japanese#holiday@group.v.calendar.google.com'); if (calendar.getEventsForDay(currentDate, {max: 1}).length > 0) { return;

試したこと

上記コードを追加しましたが適応されず。

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

特になし

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

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

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

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

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

nomura

2020/02/14 05:15

私の環境では再現出来なかったので解答できません。 なので、まずはお手元の環境で具体的にどこからどこまでが期待通りで、どこがうまく行かないのか探ってみてはいかがでしょうか? ``` target = 1; // ここを変えてみる currentDate.setDate(currentDate.getDate() + target); ``` を使うとデバッグしやすいかと思います。
CHERRY

2020/02/14 05:44

日付判定部分は問題ないと思いますが、提示されているソースコードが一部だけで、slack の部分との関連が不明なので、return 後の処理に問題があるのではないでしょうか。
papinianus

2020/02/14 08:57

最近、別の方の質問で、そのコードを送信部分の後に書いているケースがありました。 そのコードを書いた方が解説を付けておられますが、判定して、その後に本来の処理をする、という順でコーディングされている必要があります。 ひとまず、前後含め全体をお示しください。
orange1

2020/04/22 07:28

皆さま、ご回答ありがとうございます。 ご返信遅くなりすみません。 コードはあっているが、入れる箇所がおそらくことなるのですね、 コードはこちらへの記載でよろしいのでしょうか? 下記が全体となります。 -------------------------- function postSlack() { var sheet = SpreadsheetApp.openById('1Qn9sjpQZ8ekq-QC9mu9pXkjjySrvi8qncgeUa3TX2X0'); var sentence = sheet.getSheetByName('アラート用').getRange(4,16).getValue(); var payload = { 'text' : sentence, }; var options = { 'method' : 'post' , 'contentType' : 'application/json' , 'payload' : JSON.stringify(payload), }; var url = 'https://hooks.slack.com/services/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'; /*外部へアクセスさせる */ UrlFetchApp.fetch(url, options); // 休日は実行させない var currentDate = new Date(); var weekday = currentDate.getDay(); if (weekday == 0 || weekday == 6) { return; } var calendar = CalendarApp.getCalendarById('ja.japanese#holiday@group.v.calendar.google.com'); if (calendar.getEventsForDay(currentDate, {max: 1}).length > 0) { return; } } --------------------------
guest

回答1

0

javascript

1/*外部へアクセスさせる */ 2UrlFetchApp.fetch(url, options); 3 4// 休日は実行させない 5var currentDate = new Date(); 6var weekday = currentDate.getDay(); 7if (weekday == 0 || weekday == 6) { 8return; 9}

が少なくとも

javascript

1// 休日は実行させない 2var currentDate = new Date(); 3var weekday = currentDate.getDay(); 4if (weekday == 0 || weekday == 6) { 5return; 6} 7/*外部へアクセスさせる */ 8UrlFetchApp.fetch(url, options);

の順である必要があります。

投稿2020/04/23 01:30

papinianus

総合スコア12705

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

アカウントをお持ちの方は

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問