見出し画像

ノンプロ研 初心者向けプログラミング講座【GASコース第9期】事前課題その3

↓これの続きです。


事前課題として示された範囲は前回で終わったが、スプレッドシートのセル範囲をクリアするいくつかの方法が気になるので引き続きザっとやってみる。

14.【初心者向けGAS】スプレッドシートのセル範囲をクリアするいくつかの方法

おさらい。getA1Notationってなんなん、ということでググる。

画像1

範囲のa string description(データ?)をA1表記で返す、A1表記ってのが
セルの範囲示すやつ A1:E2みたいなやつ。

画像2

これで最終行にいったときに、範囲がログ出力できるようになったので、ログ出力でなくて、その範囲をリセット、クリアしていく。

結論から言うと、今後の可塑性・変更などを考慮してclearContentメソッドが良さそうということ。全消しクリア、書式のみクリアなどいろいろなクリアメソッドがある模様。

すべてをクリアする:clear ※すべてに含まれるのは以下の各項目のことか?ラピュタでいうバルスなのか?
コンテンツをクリアする:clearContent ※入力されている値や数式などの内容
書式をクリアする:clearFormatメソッド
データの入力規則をクリアする:clearDataValidationsメソッド
コメントをクリアする:clearNoteメソッド


getA1Notationで範囲を出力していたので、それをclearContentに置き換える。console.logと前後の()も忘れずに削除。で、実行、あれ消えない?あ、また前提としてデータシートのD列最終行だけ空白というのを満たしていなかった。前提を揃えて、実行、たしかに消えた。

試しにほかのクリアメソッドも試してみる。そのために適当な書式設定をする。

画像3

まずコメントを消してみよう。最終行D6の値を空白にして、clearContenをclearNoteに単純に置き換えればいいのだろうか?あれ、思ったような実行結果にならない。ぐぐってみる。

画像4


sheet.getRange(2, 4, lastRow - 1);でいったん切って、
range.clearNote();にする必要があるのかな?

画像5

うおーん、ちがうな。レンジの定義が必要?なんかうまくいかない。

sheet.getRange(2, 4, lastRow - 1).clear(); では値は消えた、でもコメントを書式はそのままだった。

画像6

画像7

む~~~~わから~~~ん、ひとまず進むか。


15.【初心者向けGAS】Google Apps ScriptでWeb APIを活用するための基礎知識

さあ、いよいよBot通知していきますよ。

笑。

しかし困った。「Chatwork」使ってないんだよなーslackなんだよなー。

別件で、Googleフォームに回答があったら指定のslackのチャンネルにbot通知するみたいなのはやったので、それでいけるかなあ。WebHooksのやつ。

まずは、APIとはといった解説のところを読み進めていく。
改めてAPIとはなんぞや?ときかれると、答えられない。GASとslack連携させて通知させたり、IFTTTでTwitterのエゴサしてそれをslackに通知させたり、異なる複数のサービス、アプリケーション間の連携?というイメージ。

様々なサービスがその一部の機能を外部から操作するための「API」

HTTP通信。ITパスポート試験のときにこのへんをさら~っとなんかやった、ような、気がする。


16.【初心者向けGAS】面倒なことはライブラリに任せよう!その概要と追加の方法

slackのライブラリもありそうなもんだけど、よくわかんないなー。

17.【初心者向けGAS】Chatworkのマイチャットにメッセージを送る最も簡単な例


うーん、ここもChatworkネタなので、さーっとスクロールして次へ。

18.【初心者向けGAS】Google Apps Scriptで別の関数を呼び出すfunctionの書き方

うん、このへんからいけそうかな。
よし、ちょっとここまででまとめよう。
この先はslack×GASということで、また別のnoteにまとめたほうがいい気がしてきた。

やりたいこと:
slackにGoogleスプレッドシートの名言集からランダムに通知を送りたい。

準備:

<slack>
・テスト用slackワークスペース作る。
・slackの投稿用チャンネルを用意。
・WebHook追加

WebHook追加手順1

追加したいチャンネルの詳細を開く。

画像8


WebHook追加手順2

その他>アプリを追加する

画像9


WebHook追加手順3
Incoming WebHooks とかで検索して Incoming WebHooksをインストール押す。

画像10

WebHook追加手順4

別画面に飛ぶので、追加したいワークスペースになっていることを確認(左上にワークスペース名称あり)のうえ「slackに追加」する。

画像11

WebHook追加手順5
チャンネルを選択し「Incoming Webhookインテグレーションの追加」


画像13

WebHook追加手順6

Webhook URLをメモっておく(slackの管理画面で後からみることもできる)

画像13

WebHook追加手順7
slackに戻ると、追加したチャンネルに以下のような表示が出ている。

画像14


<GAS>
・slack通知用スクリプト書く。
・spreadシートからデータ取得してslackに流す。

ちっと、事前課題とは別?として、bot通知設定をどうにかこうにかしてみたい。

今日はここまで。




いいなと思ったら応援しよう!

good-sun(a03)
いただいたサポートで、書籍代や勉強費用にしたり、美味しいもの食べたりします!