(簡易版)Google App Script で Google Spreadsheet に日本の祝日リストを吐き出す
google spread sheetに自動更新される日本の祝日シートを作る - Qiita
この Qiita のコードをもっと簡単にしてみた。
自分のバージョンはこちら。
function generateHolidayList() { const url = 'https://docs.google.com/spreadsheets/d/xxxxxxxx'; const sheet = '日本の祝日'; const start = new Date('2018-01-01T00:00:00'); const end = new Date('2030-12-31T00:00:00'); const holidays = CalendarApp.getCalendarById('ja.japanese#holiday@group.v.calendar.google.com') .getEvents(start, end) .map(function(e) { return [e.getStartTime(), e.getTitle()] }); SpreadsheetApp.openByUrl(url).getSheetByName(sheet).getRange(1, 1, holidays.length, 2).setValues(holidays); }
このスクリプトは1カラム目に日付、2カラム目に祝日の名前を書き込む。
どこに書き込むのかは url, sheet 変数で決める。
- url は書き込み対象のスプレッドシート URL
- sheet は書き込み対象のシート名
一度実行すると上書きされる。実用上はそんなもんでいいのではないかな。元の qiita のは空白の制御とかもしてるけど滅多にやらないから手作業で十分だし、コードの見通しを良くしたい。あとは早すぎる抽象化をバッサリ削除した。