ノンプロ研 初心者向けプログラミング講座【GASコース第9期】事前課題その3
↓これの続きです。
事前課題として示された範囲は前回で終わったが、スプレッドシートのセル範囲をクリアするいくつかの方法が気になるので引き続きザっとやってみる。
14.【初心者向けGAS】スプレッドシートのセル範囲をクリアするいくつかの方法
おさらい。getA1Notationってなんなん、ということでググる。
範囲のa string description(データ?)をA1表記で返す、A1表記ってのが
セルの範囲示すやつ A1:E2みたいなやつ。
これで最終行にいったときに、範囲がログ出力できるようになったので、ログ出力でなくて、その範囲をリセット、クリアしていく。
結論から言うと、今後の可塑性・変更などを考慮してclearContentメソッドが良さそうということ。全消しクリア、書式のみクリアなどいろいろなクリアメソッドがある模様。
すべてをクリアする:clear ※すべてに含まれるのは以下の各項目のことか?ラピュタでいうバルスなのか?
コンテンツをクリアする:clearContent ※入力されている値や数式などの内容
書式をクリアする:clearFormatメソッド
データの入力規則をクリアする:clearDataValidationsメソッド
コメントをクリアする:clearNoteメソッド
getA1Notationで範囲を出力していたので、それをclearContentに置き換える。console.logと前後の()も忘れずに削除。で、実行、あれ消えない?あ、また前提としてデータシートのD列最終行だけ空白というのを満たしていなかった。前提を揃えて、実行、たしかに消えた。
試しにほかのクリアメソッドも試してみる。そのために適当な書式設定をする。
まずコメントを消してみよう。最終行D6の値を空白にして、clearContenをclearNoteに単純に置き換えればいいのだろうか?あれ、思ったような実行結果にならない。ぐぐってみる。
sheet.getRange(2, 4, lastRow - 1);でいったん切って、
range.clearNote();にする必要があるのかな?
うおーん、ちがうな。レンジの定義が必要?なんかうまくいかない。
sheet.getRange(2, 4, lastRow - 1).clear(); では値は消えた、でもコメントを書式はそのままだった。
む~~~~わから~~~ん、ひとまず進むか。
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
追加したいチャンネルの詳細を開く。
WebHook追加手順2
その他>アプリを追加する
WebHook追加手順3
Incoming WebHooks とかで検索して Incoming WebHooksをインストール押す。
WebHook追加手順4
別画面に飛ぶので、追加したいワークスペースになっていることを確認(左上にワークスペース名称あり)のうえ「slackに追加」する。
WebHook追加手順5
チャンネルを選択し「Incoming Webhookインテグレーションの追加」
WebHook追加手順6
Webhook URLをメモっておく(slackの管理画面で後からみることもできる)
WebHook追加手順7
slackに戻ると、追加したチャンネルに以下のような表示が出ている。
<GAS>
・slack通知用スクリプト書く。
・spreadシートからデータ取得してslackに流す。
ちっと、事前課題とは別?として、bot通知設定をどうにかこうにかしてみたい。
今日はここまで。