よろよろ帳

InDesign JavaScript 勉強中

選択サイズで四角

下請仕事であやふや原稿箇所の注意喚起に黄色をかぶせる作業があり、Y100なのに黄アミと呼んでいてもやっとしています。100ならベタやん!

app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT);
function main (){
var sel = app.activeDocument.selection;
var pg=sel[0].parentPage;
var rec=pg.rectangles.add();
rec.geometricBounds=groupy_bon(sel);
rec.appliedObjectStyle=app.activeDocument.objectStyles[0];//いったんオブジェクトスタイルなしに
rec.fillColor= "スウォッチ名";
rec.transparencySettings.blendingSettings.blendMode = BlendMode.MULTIPLY;//乗算
app.activeDocument.selection = null;//選択解除

function groupy_bon (sel) {
   var t = [], l = [], b = [], r = [];
   for (var i=0, iL=sel.length; i < iL ; i++) {
       var bo = sel[i].geometricBounds;
       t.push(bo[0]);
       l.push(bo[1]);
       b.push(bo[2]);
       r.push(bo[3]);
   };
   var groupyBon = [
       t.sort(function(a,b){return a > b})[0],
       l.sort(function(a,b){return a > b})[0],
       b.sort(function(a,b){return a < b})[0],
       r.sort(function(a,b){return a < b})[0]
   ];
   return groupyBon;
}
}

↓参考
選択したボックスをドキュメントサイズの左右センターに移動したい - InD-Board 過去ログ《InDesignの勉強部屋 BBS・掲示板》


テキストは下線の文字スタイル作ってショートカット設定で適用!したらば[基本段落]+で文字スタイルもりもりのデータで絶望……。

app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT);
function main (){
var sel=app.activeDocument.selection[0];//テキスト選択
var pg=sel.parentTextFrames[0].parentPage;
var Q=sel.ascent;//pointSizeは単位がめんどくさかった
var X=sel.horizontalOffset;
var Y=sel.baseline;
var X2=sel.endHorizontalOffset
var rec=pg.rectangles.add();
rec.geometricBounds=[Y-Q-0.2,X-0.2,Y+0.2,X2+0.2]//なんとなく数値プラス
rec.appliedObjectStyle=app.activeDocument.objectStyles[0];//[なし]にする
rec.fillColor= "スウォッチ名";
rec.transparencySettings.blendingSettings.blendMode = BlendMode.MULTIPLY;//乗算
app.activeDocument.selection = null;
}

↓参考
Indesignのスクリプト-座標について | 大光印刷株式会社・ダイコウクリエ株式会社
parentPageのparent - DTPab
sel.parentPageと書いてひっかかり助けてもらいました。