指定した年の和暦を表示するだけのGoogle Apps Scriptです。和暦を使うことは稀によくあるので、このスクリプトを登録しておくと便利かもしれません。
特にありません。今お使いのスプレッドシートに組み込めます。
上のメニューに有る「スクリプト実行」から「西暦から和暦に変換する」を実行します。
ポップアップウィンドウに和暦に変換したい西暦を入力します。
空欄の場合は今年の西暦として変換が実行されます。
「西暦〇〇年は和暦〇〇年です」とメッセージが表示されます。
簡易的な実装のため、各元号の元年にあたる年は新元号だけが出力されます。
たとえば2019年は平成31年であり、令和1年でもありますがこのスクリプトでは「令和1年」としか表示されませんのでご注意ください。
このスクリプトは昭和以降の西暦、和暦にしか対応していません。
それ以前の西暦を入力した場合は「1925年以前(大正以前)は未対応です」というエラーメッセージが表示されてスクリプトが終了します。
/**
* このスクリプトの説明、使い方はこちら。
* https://myfunc.jp/items/00059/index.html
*/
function onOpen() {
// スプレッドシートを開いたときに実行される関数
// UIの取得
const ui = SpreadsheetApp.getUi()
// メニューの表示名
const menu = ui.createMenu('スクリプト実行');
// メニューに追加するボタン
menu.addItem('西暦から和暦に変換する', 'seireki_to_wareki');
// メニューを画面に追加する
menu.addToUi();
}
function seireki_to_wareki() {
// UIを取得
const ui = SpreadsheetApp.getUi();
// 変換元の西暦を入力してもらう
const input = ui.prompt('西暦を入力してください\n空欄の場合は今年の和暦が表示されます', ui.ButtonSet.OK_CANCEL);
// キャンセルが押されたらスクリプトを終了する
if (input.getSelectedButton() == ui.Button.CANCEL) {
return;
}
// 入力された西暦を取得する
let seireki = input.getResponseText();
// もし空欄の場合は今年とみなす
if(seireki == ''){
seireki = new Date().getFullYear();
}
// 大正以前には対応していない
if(seireki < 1926){
ui.alert('1925年以前(大正以前)は未対応です');
return;
}
// 和暦表示用の変数を準備
let gengou = '';
let year = '';
// 西暦によって元号と年をを判定する
switch (true) {
case seireki >= 2019:
gengou = '令和';
year = seireki - 2018;
break
case seireki >= 1989:
gengou = '平成';
year = seireki - 1988;
break
case seireki >= 1926:
gengou = '昭和';
year = seireki - 1925;
break
default:
break
}
// 結果を表示する
ui.alert(seireki + '年は' + gengou + year + '年です');
}