0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Google Spread Sheetで日本の祝日情報を取得する方法

Posted at

業務上で必要となったので、Googleスプレッドシートで日本の祝日情報を取得する方法をGoogle Apps Scriptで作ってみました。

スクリプトの内容

  1. メニューに「祝日情報取得」という名称のメニューボタンを追加し、祝日情報取得関数(getHolidayData)を実行できるようにする。
  2. 祝日情報取得関数(getHolidayData)が呼び出されると、内閣府が用意している祝日CSVを取得し、シートに書き込む。(URL: https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.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);

}

動作

  • メニューにある「祝日情報取得」を実行します。(権限を求められたときは許可して、再度実行してください。)

image.png

  • 実行すると、下の様にA:Bセルにデータが挿入されます。

image.png

ちなみに

他にも方法はあります。 Googleカレンダーの祝日カレンダーから取得する方法があります。
(多分正攻法はこっちな気がします…)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?