【InDesign】Excelのように日時入力するスクリプト | Blue-Scre{7}n.net | よそいちのDTPメモ

トップページ » InDesign » 【InDesign】Excelのように日時入力するスクリプト

【InDesign】Excelのように日時入力するスクリプト

公開日: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に変更
}

タグ: | 


広告