読んで欲しい人
- GASを使ってみたい人
- 有給管理システムが必要だが手をつけられていない方
- コストゼロで有給管理を行いたい会社
- GASを中心にした内部システム構築を行なっている方
実際の設定作業一覧
設定作業一覧の紹介
まずはコードの解説前に一通り設定が必要なものを説明・解説していきます。
- 有給申請用のGoogle Formを設定する
- スプレッドシートのシートに必要要素を設定する
- Slack BotにFormのアドレスを設定する
設定作業1:有給申請用のGoogle Form設定
まずは、スプレッドシートを開いて、Google Formを立ち上げます。
作業手順:[挿入]→[フォーム]

フォームをクリックすると、バインド型のFormとスプレッドシート内にフォームの回答が集約されるシートが自動で出来上がります。

フォームには以下の内容を入力します(あくまで例示ですので、各社にあった情報を入力ください。ただし、その場合はスクリプト自体の変更も必要になります)
社員番号 :[記述式]
名前 :[記述式]
有給取得日:[日付]
有給日数 :[ラジオボタン]
指定承認社:[記述式](ただし、今回はこの内容は利用していません)
上記の設定をすると、自動的にスプレッドシート内にも回答を集約されたシートが作成され、その1行目に質問として設定した要素が含まれます。

設定作業2:スプレッドシートのシートに必要要素を設定する
先ほどFormの回答集約シートが出来上がっているスプレッドシートに少し手を加えていきます。
と言っても、シート名の変更と簡易社員マスタの作成なので、特段難しいことはありません。
シート名の変更
シート前:【ファームの回答1】→【有給申請管理】
後ほど、シート名を変数にしたコードが出てきますので、ここの名前はなんでもいいですが、対応するコードの変更も必要になります。
簡易社員マスタの作成(sheet名:mail_adress_master)
フォームで申請してきた人(申請者)を特定して、承認者にメールを送るようにするためのシートです。申請者と承認者のマッチング+承認者のメールアドレス取得が目的になります。

A列:社員番号
B列:社員名
C列:承認者
D列:承認者のメールアドレス
設定作業2は以上です。
設定作業3:Slack BotにFormのアドレスを設定する
さて、最後にSlack Botの設定です。
SlackBotについては、今回はカスタマイズした自動レスポンスを入れるだけですので、以下のSlackオフィシャルの記事を参考に設定してもらえればと思います。


私の場合は、Slackで、”;有給申請”と呟いた場合に、Google Formのリンクが吐き出されるようにしています。

こんな感じになります。
まとめ
今回はコードの前提となる、各種設定を説明してきました。まずはこのケースのパターンで試していただき、慣れたらカスタマイズを増やしていただければと思います。