Google Spread Sheet에서 일본 휴일 정보를 얻는 방법

업무상 필요했기 때문에 Google 스프레드시트에서 일본의 공휴일 정보를 얻는 방법을 Google Apps Script로 만들어 보았습니다.

스크립트 내용


  • 메뉴에 「공휴일 정보 취득」이라는 명칭의 메뉴 버튼을 추가해, 공휴일 정보 취득 함수(getHolidayData)를 실행할 수 있도록 한다.
  • 공휴일 정보 취득 함수(getHolidayData)가 불려 가면, 내각부가 준비하고 있는 공휴일 CSV를 취득해, 시트에 기입한다. (URL: htps //w w8. 카오. . jp / 쵸세이 / 슈쿠 지츠 / 슈쿠 지츠. CSV )

  • 스크립트


    function onOpen() {
      // メニュー追加
      SpreadsheetApp
        .getActiveSpreadsheet()
        .addMenu('祝日情報取得',[
          {name: '情報取得', functionName: 'getHolidayData'}
        ]);
    }
    
    function getHolidayData() {
      var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = spreadsheet.getSheetByName('祝日一覧');
    
      // 祝日一覧のシートのF3セルに内閣府祝日データCSVのURLを記載してあります。
      var url = sheet.getRange('F3').getValue().toString();
      var charset = 'Shift_JIS';
      var response = UrlFetchApp.fetch(url);
      var holidayCSV = response.getContentText(charset);
    
      var ary = Utilities.parseCsv(holidayCSV);
      sheet.getRange(1,1,ary.length,ary[0].length).setValues(ary);
    
    }
    
    
  • ※스크립트를 등록했을 때는, onOpen()를 실행해, 권한을 허가해 주세요.

  • 스크립트 참고 기사
  • CSV 로딩은 다음 기사를 참고했습니다.
  • 스프레드시트: CSV 파일 로드

  • 메뉴 추가 기능은 다음 기사를 참고했습니다.
  • 스프레드시트에 맞춤 메뉴를 추가하여 확장 프로그램을 구현하는 방법



  • 동작


  • 메뉴에서 「공휴일 정보 취득」을 실행합니다. (권한을 묻는 경우는 허가해, 다시 실행해 주세요.)


  • 실행하면 아래와 같이 A:B 셀에 데이터가 삽입됩니다.



  • 그건 그렇고



    다른 방법도 있습니다. Google 캘린더의 휴일 캘린더에서 가져오는 방법이 있습니다.
    (아마 정공법은 이런 생각이 듭니다…)
  • 참고 기사
  • GoogleAppsScript에서 일본 휴일을 스프레드 시트에 인쇄하는 방법
  • google spread sheet에 자동 갱신되는 일본 공휴일 시트 만들기

  • 좋은 웹페이지 즐겨찾기