【InDesign】選択している段落に入力した数値の分だけインデント | Blue-Scre{7}n.net | よそいちのDTPメモ

トップページ » InDesign » 【InDesign】選択している段落に入力した数値の分だけインデント

【InDesign】選択している段落に入力した数値の分だけインデント

公開日:2017年3月23日 

try{
var selObj = app.activeDocument.selection[0];
    //インデント指定
    var pr=prompt("インデントする長さを入力","");
    //全角数字だったら半角に置換
  prrep = pr.replace(/[A-Za-z0-9]/g, function(s) {
    return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);
  });
    var prnum=Number(prrep);
for (i=0; i < selObj.paragraphs.length; i++)
{
selObj.paragraphs[i].leftIndent=prnum;
} }
catch(e){
alert("処理は中断されました")
}

使い方

 テキストを選択してスクリプトを実行すると、入力フォームが表示されます。そこに入力した数値分※だけ、選択した段落をインデントします。

※単位はInDesignの環境設定に依存しています。

 このスクリプトでやることはほぼInDesignの通常操作です。ただ、

・突発的に、段落スタイルに登録してないインデント幅が発生した場合、「ここだけだしスタイル作るのめんどくさい…」(その後また出てくるかもしれないけど)
・「段落パネルやコントロールパネルまでフォーカスするのめんどくさい…」(入力欄小さいし)
・単位をうっかり重ね打ちしたときの「無効な数値です」がUZAI

そんなときに少しだけ時間が短縮できるかもしれません。

全角→半角の置換

プログラマー社長の「日々発見」| javascript で英数字の 全角⇔半角 変換

突き出しインデントにする版

/*選択している段落に入力した数値の分だけ突き出しインデント
  */
try{
var selObj = app.activeDocument.selection[0];
    //インデント指定
    var pr=prompt("インデントする長さを入力","");
    //全角数字だったら半角に置換
  prrep = pr.replace(/[A-Za-z0-9]/g, function(s) {
    return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);
  });
    var prnum=Number(prrep);
var prnummi="-"+prnum;
for (i=0; i < selObj.paragraphs.length; i++){
selObj.paragraphs[i].leftIndent=prnum;
selObj.paragraphs[i].firstLineIndent=prnummi;
}
}
catch(e){
alert("処理は中断されました")
  }


タグ:


広告