【InDesign】Excelのように日時入力するスクリプト | Blue-Screeeeeeen.net―youichi7imazekiのDTPメモ―

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

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

公開日:2017年6月21日 最終更新日:2017年7月18日

 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に変更  
}

タグ: | 


  • 最近の投稿

  • カテゴリー

  • 月別の記事

  • おことわり

     Adobe、InDesign、Illustrator、Photoshop、Acrobatは、Adobe Systems Incorporated(アドビシステムズ社)の米国および他の国における商標または登録商標です。本サイトでは、RおよびTMを省略しております。