シフト表を自動作成するGASプログラムを作ってみた

フリーランス/個人事業主をしているママさんは、保育園にシフト表を提出していると思います。

わたしも毎月提出しているのですが、GAS(Google Apps Script)の勉強も兼ねて、自動作成プログラムを作ってみました。

目次

前提条件

ExcelVBAプログラムは作成できます。GASは、文法と実行の仕方とHello World よりちょっとわかるくらいの初心者。
Excel VBAの知識をもとに GASを使いこなすための勉強中。
※ 育児とクライアント様の仕事しながらなので、なかなか時間が取れませんが…💦

作りたいプログラムの条件は以下

  • 年月を入力してプログラムを実行すると、日付/曜日(祝日も)/勤務時間を自動出力。
  • 土日祝日以外の平日に、勤務時間を出力。

プログラムのポイント

GASは、本がなくてもネット検索でだいたいの事が調べられます。とっても便利。
今回のキモは祝日判定ですが、少し調べるだけで、たくさん例が出てきました。

祝日判定の準備は以下の2行。

const id = ‘ja.japanese#holiday@group.v.calendar.google.com’
const cal = CalendarApp.getCalendarById(id);

使い方は以下。

if(cal.getEventsForDay(dt).length){
  st.getRange(i,6).setValue(syuku); // 祝日
} else…

便利ですよね~。
Googleカレンダーサービスを行っているGoogleだからこそ、このくらいの手軽さで祝日判定処理が実装できるんだな~と思いました。

完成プログラムの動作

GIFアニメーションで見るとこんな感じです。
日付を入力して、拡張機能→マクロ→myFunctionで実行、もしくはCtrl+Alt+Shift+7 で実行したら、あとは待つだけ。

まとめ

だいたい1時間くらいで出来ましたので、手軽です。

GASは、一番最初にプログラム実行するときに「実行許可」処理が必要ですが、それさえ一度してしまえばExcelVBAのように使えます。

プログラムに興味がある学生さんや社会人の方にはおすすめです!

よかったらシェアしてね!
  • URLをコピーしました!
目次