【徒然GAS38】今週参考になったリンク・記事~フィルタとslack通知
明けましたねおめでとう✨
3週間以上ぶりに、再開します❗️
定義された要件・要求
⒈スプレッドシートに特定の値を持つ行に背景色をつけてほしい
⒉⒈で色分けした中で、ステータスが未完了のものを通知してほしい
選択肢
⒈について
色分けする方法として、
①セルの値を一旦取得して、特定の値をもつ行を検索し、色分けするか、
②フィルタを使って、一気に色分けするか
があるんだけど、対象のシートが12枚で、計30000行以上のデータがあったので、
①で全行を検索すると、6分の壁でタイムアウトになるので、現実的ではない。
そこで、②フィルタを使うことに。
⒉について
色分けが終わった後で、特定のステータスの値をもつものをシートごとに検索して、見つかればslack通知となると、ここも6分の壁で処理時間を超える可能性があるため、
①通知対象のシートを追加
↓
②通知対象のシートに、各シートから通知対象行を抽出して絞り込む
↓
③上から下に処理を繰り返し流して、一気に通知する方法を選択。
参考リンク
⒈について
①フィルタを作成、解除などの基本
②フィルタ周りの詳細コード一覧で参考にしたのはコレ
③一応読んだけど、あくまでもフィルタリング後の可視セルの値取得で、今回の色分けには使えないけど重要だなと思ったものはコレ
④結局、VBAみたいなコードでの機能はないのかもしれないと参考にしたのはコレ
じゃ、結局どうしたかというと、、、
⑴マクロの記録で、操作のコードを起こす
⑵マクロの記録でVBAの手法で、余計なコードを消しつつ、加工
⑶余計な空白行が最終行以降にあると、条件に該当するデータがない場合、最終行以降を色付けしてしまうので、
スプレッドシートでのコードやデータ管理の基本=余計な空白行を残さない
に立ち返り、処理実行の最初の段階で、余計な空白行を削除するコードをかます
で対処しました。
※あくまでも、対処的な方法なので、他にもこんな方法があると知っている人には参考にならないかも、、、。
⒉について
①slack通知の基本で参考にしたのはコレ
②スプレッドシートからslack連携で参考にしたのはコレ
まとめ
時間とか売上とか必ず、スプレッドシート上で多くの値を持っているはずだから、
使いこなせると、色々と応用が効くなあ。
しかも、slack通知をトリガーにしておくと、GamilでもCalenderでも応用が効くし。
今回、記事にしようと思ったきっかけ(1/16追記)
一番大事なところが昨日の記事では記載漏れてたので、追記🙇♂️
普段、呼び出しているスクリプトを誤って実行をしないように
関数名_(){
処理
}
で、隠蔽するんだけど。
slackに通知するスクリプト_(){
通知処理
}
でやると、slack側に、
「〇〇を送信しています」
メッセージが表示されるだけで、通知の中身が表示されない
仕様みたいだから気をつけて。
※ネットで1時間くらい検索したけど、見当たらなかった。。。💦
slackに通知するスクリプト(){
通知処理
}
でやると、きちんとスプレッドシートの内容が一行ずつ通知されます。
あと、slackには1分間に最大40回までしか送信できないがあるので、そこも気をつけて。
この記事が気に入ったらサポートをしてみませんか?