[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(DTPtechNote:1504) Re: [JS_Indesign CS]選択している数字に和暦を追加



JavaScriptで書くとこんな感じかな。

//エラー処理 
function myerror(mess) { 
  if (arguments.length > 0) { alert(mess); }
  exit();
}
//西暦年を和暦(明治・大正・昭和・平成)に変換
function wareki(y) {
	var y = parseInt(y);
	var w = "";
	if (y > 1998) {
		w = "平成" + (y - 1988);
	} else if (y > 1925) {
		w = "昭和" + (y - 1925);
	} else if (y > 1912) {
		w = "大正" + (y - 1912);
	} else if (y > 1867) {
		w = "明治" + (y - 1867);
	} else {
		w = false;
	}
	return w;
}


if (app.documents.length == 0) {myerror("ドキュメントが開かれていません")}
var mydocument = app.activeDocument;
if (mydocument.selection.length == 0) {myerror("テキストを選択してください")}
var myselection = mydocument.selection[0];
var myclass =myselection.reflect.name;
var myclass = "Text, TextColumn, Story, Paragraph, Line, Word, Character".match(myclass);
if (myclass == null) {myerror("テキストを選択してください")}
var mycontents = myselection.contents;
if (mycontents.match(/[^0-9]/)) {myerror("半角数字を選択してください")}
myselection.contents = mycontents + "(" + wareki(mycontents) + ")"