Skip to content

Instantly share code, notes, and snippets.

@kanemu
Created January 8, 2011 16:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kanemu/770972 to your computer and use it in GitHub Desktop.
Save kanemu/770972 to your computer and use it in GitHub Desktop.
[indesign]2011.1.8 InDesign Script勉強会お題② グループじゃないグループ
(function(){
/*
* 2011.1.8 InDesign Script勉強会お題②
* グループじゃないグループ - 選択したひとつのアイテムのグループの仲間を集める
*/
var doc = app.activeDocument;
if(doc.selection.length === 0) return;
doc.viewPreferences.rulerOrigin = RulerOrigin.SPREAD_ORIGIN;
var sel = doc.selection[0];
var gid = sel.extractLabel("gid");
var nowBounds = sel.geometricBounds;
var oldXy = eval(sel.extractLabel("bounds"));
var nowXy = [nowBounds[1]-oldXy[0],nowBounds[0]-oldXy[1]];
var sprd = sel.parent;
if(sprd.constructor.name==='Page'){
sprd = sprd.parent;
}
var sels = sprd.allPageItems;
var ary = [];
for (var i=0,len=sels.length;i<len;i++) {
var sel_ = sels[i];
var gid_ = sel_.extractLabel("gid");
if(gid === gid_) ary.push(sel_);
}
for (var i=0,len=ary.length;i<len;i++) {
var item = ary[i];
var xy = eval(item.extractLabel("bounds"));
//$.writeln(xy);
item.move([xy[0]+nowXy[0],xy[1]+nowXy[1]]);
}
doc.selection = ary;
})();
(function(){
/*
* 2011.1.8 InDesign Script勉強会お題②
* グループじゃないグループ - 選択アイテムにグループを設定する
*/
var doc = app.activeDocument;
var sels = doc.selection;
if(sels.length<2) return;
var gid = new Date().getTime().toString();
for (var i=0,len=sels.length;i<len;i++) {
var sel = sels[i];
sel.insertLabel("gid",gid);
var bounds = sel.geometricBounds;
sel.insertLabel("bounds",uneval([bounds[1],bounds[0]]));
};
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment