石田修二ホームページ > JavaScript講座 > (サイト内検索)
GoogleスプレッドシートでJavaScriptを実行できるというのでやってみました。
クジラ飛行机さんが日経 PC online に書いておられる記事「Googleスプレッドシートに「和暦西暦早見表」を作成しよう」を参考にしています。
var COUNTDOWN_YEAR=100;
function makeList() {
var thisyear=(new Date()).getFullYear();
var result=[];
for (var i=0; i <COUNTDOWN_YEAR;i++){
var year=thisyear-i;
var wareki=seireki2wareki(year);
var eto=seireki2eto(year);
result.push([year,wareki,eto,"満"+i+"才"]);
}
var sheet=SpreadsheetApp.getActiveSheet();
sheet.getRange(1,1).setValue("和暦西暦早見表"+thisyear+"年版");
sheet.getRange(2,1,COUNTDOWN_YEAR,4).setValues(result);
};
function onOpen() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var entries =[{
name : "表を作る",
functionName : "makeList"
}];
spreadsheet.addMenu("和暦西暦早見表 作る", entries);
};
function seireki2wareki(y) {
var warekiData = [
{gen:"明治", year: 1868, yearTo:1911},
{gen:"大正", year: 1912, yearTo:1925},
{gen:"昭和", year: 1926, yearTo:1988},
{gen:"平成", year: 1989, yearTo:9999}
];
var gen = "西暦";
var nen = y;
for (var i = 0; i <warekiData.length; i++){
var w = warekiData[i];
if (w.year <= y && y <= w.yearTo){
gen = w.gen;
nen = y - w.year +1;
}
}
if (nen == 1) nen = "元";
return gen + "" + nen + "年"
}
function seireki2eto(y){
var eto_a = ["子", "丑", "寅", "卯", "辰", "巳",
"午", "未", "申", "酉", "戌", "亥"];
return eto_a[(y-1564)%12];
}
入力が終わったら,[ファイル]から[名前の変更]を選択して,まずはプロジェクト名をつけておきます。
次に[ファイル]−[保存]とクリックして,コードに名前をつけておきます。
[実行]−[makeList]の順にクリックします。すると,スプレッドシートの方に実行結果が表示されます。
スプレッドシートのメニューバーに「和暦西暦早見表 作る」というのができていることにも注目して下さい。
リンクはご自由にどうぞ。
Last modified: 2015-03-07 19:40:34