getSheets()[0]は一番左のシートを、getSheets()[4]なら左から5番目を取得するといった感じです。公式のリファレンスが分かりやすく解説してくれているのでそちらを参考にどうぞ。今回はSpreadSheet上のE1に格納されているデータが欲しいので、getSheetValues(1,5,1,1)といった感じに指定しています。トリガーを設定するGASを使用する利点の1つとして関数を実行するトリガーの設定が非常に容易であることが挙げられます。「リソース」→「現在のプロジェクトのトリガー」から新しいトリガーを設定してみましょう。関数getAttendance()が毎日午前9~10時の間に実行されるよう設定できたこれでcronとか使わなくても定時実行されるトリガーが設定できちゃいます。Formsに新しいエントリが来たらSlackに通知するアプリを作りましょう。Formsを使う機会って多いですよね?新しいエントリがあるたびに通知メールが届いたり、いちいちブラウザを開いたりするのも面倒な方のために、フォームへの送信内容を自動でSlackに飛ばす仕組みをご紹介します。集計先のSpreadSheetに更新が発生したらその内容を取ってくるといった2パターンに分かれるのですが、今回紹介するのは1つめのパターンです。Formを用意する例としてイベントへの参加者を募集する申請フォームを用意しました。このフォームに新しいエントリがあると通知が飛ぶようにしたいと思います。新しいスクリプトを作成するメニューの「ツール」→「スクリプトエディタ」より新しいスクリプトを作成しますプロジェクト名はattendant_formとでもしておきましょう余談ですがこのように特定のFormやSpreadSheetから直接GASプロジェクトを立ち上げると、そのプロジェクトと対象のFormやSpreadSheetが紐付けされた状態になります。リンクしたいものをURLで指定したりせずにすむので、良いですね。コード書くまずはお決まりのSlackにメッセージ飛ばす部分を書きます。Libraryを設定するのを忘れないでください。今回は投稿先のチャンネルとして「#attendance」、投稿者名として「参加申請通知bot」をそれぞれ設定しています。投稿内容を取得・処理する次は実際に投稿された内容を受け取って、通知メッセージに必要なデータを抜き出します。"```\n";postSlackMessage(message);}getItemResponsesはフォームの各項目のタイトルやデータを引っ張れる便利なメソッドです。その各項目に対してfor文をまわしてそれぞれタイトルとデータを抽出しています。先ほどは毎朝関数が実行されるように時間主導型のトリガーを設定しました。今回はフォームが来るたびに動作して欲しいので、イベントの種類を「フォームの送信時」に設定します。実際にフォームに投稿してみましょう通知が来た!実際の利用ではFor文をまわすときにtitleをSwitch文で判別してresponseを個別の変数に格納すると便利かと思います。最後にいかがだったでしょうか。Bot導入のハードルが下がったかと思います。Scriptを覚えてからというもの、弊社Slack上はゴミのようなbotの群れで溢れる始末です。最近はDocomoの雑談対話apiを使用した新キャラクター「坂本」が誕生しました。botの可能性も無限大です。初心者がエンジニアの卵になるための方法。コメントをキャンセルメールアドレスが公開されることはありません。