pro)[GAS]どこで勤務しているか所在情報を共有する仕組みコメントを残す小さな組織から大きな組織まで、出欠や勤怠をまとめた一覧表を用意している場合が多い。ある方式が、大きなホワイトボードに氏名が並んでいて、マグネットで自分がどこにいるのかを示す形である。少人数のうちはホワイトボードでもいいが、100人を超えるような組織で、かつ居場所が散在している場合には、自分の所在を変更するためホワイトボードまで行くだけで相当な手間がある。ホワイトボードから離れた場所にいるものには他人の情報を確認できないし、忘れたまま出かけてしまった場合は残っている人に連絡して情報を書き換えてもらう必要がある。Scriptを使って所在情報を共有する仕組みを開発した。所在情報をまとめるスプレッドシートを作成し、さらに各ユーザーの利便性のためWEBアプリケーションを経由してスプレッドシートに記録されている自信の情報を読み書きできるようにした。外部から所定のメールアドレスへメールを送り、GmailをGASから操作して所所在情報を書き換えられるようにした。Suiteに社内ネットワークからしかアクセスできないという制限を踏まえたためである。スプレッドシートの構成は以下の通り。所在の情報の確認でも最も短時間で反応する必要がある場面を総務部門の担当者が代表電話で連絡を受けた場合と判断し、氏名をあいうえお順で並べたシートを本体とした。予定の最終有効日これとは別に、所属部門ごとに氏名を並べて所在を見やすくしたシートを作成した。各人の漢字氏名を検索キーとして、あいうえお順のシートからINDEX関数とMATCH関数を使って情報を反映した。Script」あたりを参考にした方がいいかもしれない。前者のリンクにも書かれているように、システムを使う場所、組織の都合に適したシステム構築が必要である。WEBアプリケーションに設定するスクリプトを以下に示す。検索のキーとなるidは、全角数字で入力されても半角数字に変換されて処理される。利用者のリテラシーが高くない場合、全角数字と半角数字の区別がつかない可能性があるためだ。ユーザー数が増えれば、その分だけリテラシーの高くないユーザーを含む可能性が高まる。GASのHtmlServiceでhtmlファイル側に変数を渡したいときは、13行目のようにする。1;}//毎日AM0時から人が動き出すまでの時間に実行する。//本日の所在を消去し、値を空白にする。//翌日の所在が記入されていれば、その内容を本日の所在に転記する。//翌日の所在の最終有効日を当日の日付と比較し、最終日であれば翌日の所在を消去する。//本日の所在を消去し、値を空白にする。//翌日の所在が記入されていれば、その内容を本日の所在に転記する。//翌日の所在の最終有効日を当日の日付と比較し、最終日であれば予定を消去する。dateNextDay;}次に、WEBアプリケーションで使用するHTMLのテンプレートを示す。idを未指定の場合はidを入力するページを、idが指定されていれば現在の情報の確認と新しい情報の入力ページを表示する。formで与える選択肢の値は適切に変更する。日付を入力させる欄は、予め翌日の日付が入るようにした。<h3>所在情報を更新するには、以下のフォームに記入して、更新ボタンを押してください。action="ここにWEBアプリケーションのURLを記入する。action="ここにWEBアプリケーションのURLを記入する。</body></html>メールを読み書きして所在情報を書き換えるスクリプトを以下に示す。事故など出社が遅れる、あるいは退勤処理をし忘れて退勤したという3通りを想定した。1分、5分など、一定時間ごとに発火するトリガーをかけておく。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。