DTPab

DTPにまつわるあれこれ

1if-1for(4):複数のオブジェクトをあるオブジェクトに置き換えたい

f:id:uske_S:20180721002323p:plain

久しぶりに1-if, 1-forなスクリプトっす。いや実際にはifがないので1forのみ。

使い方は、

  1. 置き換えられるオブジェクトをまとめて選択
  2. 置き換えたいオブジェクトを最後にポチッと選択

f:id:uske_S:20190416182653g:plain

そんだけ。
Undo(⌘+Z)1回でスクリプト実行前に戻れるオシャレ仕様です。

PageItem.duplicateメソッドは、第一引数に2要素の配列を渡すとそれを左上基準にしてオブジェクトを複製します。PageItem.moveメソッドと使い方は同じです。
オブジェクトの前後関係とかは見てませんのであしからず…。

【2019-04-17 追記】
試していて気づいたのですが、定規の単位の開始位置が「ページ」だと、ページをまたぐようなオブジェクトの複製で座標が正しく反映されません。 f:id:uske_S:20190417084703p:plain

なので、スクリプトで処理前に開始位置を「スプレッド」にし、処理が終わったら元の設定に戻す、という処理を組み込みました。