公開日:2017年6月21日
Excelは、ショートカットで現在時刻や当日の日付を入力できます。それをInDesignでもできないかと書いたスクリプトです。
テキストフレームに「カーソルを立てているとき」「何らかのテキストを選択しているとき」にスクリプトを実行すると、その日の日付がスラッシュ区切りで入力されます。
「きょう」とか「いま」で変換すれば出せる文字ですが、このスクリプトのキーボードショートカットをExcelのように「Ctrl+セミコロン」「Ctrl+コロン」に設定しておけば、Excel気分で日づけ入力できます。
var selObj = app.activeDocument.selection[0];
// 日時の各情報を取得
var dateObj = new Date() ;
// 0埋め用の関数
var dateZellFill = function ( number ) {
return ( "0" + number ).substr( -2 ) ;
}
var year = dateObj.getFullYear() ; // 年
var month = dateZellFill( dateObj.getMonth() + 1 ) ; // 月
var day= dateObj.getDate();//日
var hour=dateObj.getHours()//時
var Minutes=("0"+dateObj.getMinutes()).slice(-2);//分。二桁に調整
var Seconds=dateObj.getSeconds()//秒
//年月日
var today=year+"/"+month+"/"+day;
//時間
var now=hour+":"+Minutes;
if(selObj.constructor.name == "InsertionPoint") {
selObj.contents = today;
//時間を入力する場合はtodayをnowに変更
}
if((selObj.constructor.name == "Word")||(selObj.constructor.name == "TextStyleRange")||(selObj.constructor.name == "Paragraph")){
var repTxt=selObj.contents.replace(selObj, today);
var repObj=selObj.texts[0].contents = today;
//時間を入力する場合はtodayをnowに変更
}