忍者ブログ

ぼんぷろぐ

InDesignとかイラレとかのスクリプトよもやま話

新しいブログに引っ越しました。

こちらのブログはもう更新しませんが、コメント欄は生きてますので疑問、ご指摘などありましたらどうぞ。

[イラレ]
AutoHotkeyでイラレのスクリプトにショートカットキーを割り当ててみる(2)

前回の続きー

2つのページアイテムが選択されているとき、それらの位置を入れ替えるというスクリプトを考えてみます。

まずExtendScriptで書くとこんな感じ

var sel=app.selection;
if (sel.constructor.name!="TextRange" && sel.length==2) {
    var pos0=sel[0].position;
    sel[0].position=sel[1].position;
    sel[1].position=pos0;
}

これを「Ctrl+F1」に登録して実行するには、前回やった方法では、上記のスクリプトをjsxファイルとして保存し、AutoHotkey.ahkに次のように書き加えます。

^F1::
    app:=ComObjActive("Illustrator.Application")
    app.DoJavaScriptFile("D:\場所入れ替え.jsx")
Return

jsxファイルをいちいち用意しなきゃいけないのはめんどくさい!と思う方は、次のように書くこともできます。スクリプトをファイルじゃなく文字列で渡すようにしただけです。

^F1::
    irekaeScript=
    (
    var sel=app.selection;
    if (sel.constructor.name!="TextRange" && sel.length==2) {
        var pos0=sel[0].position;
        sel[0].position=sel[1].position;
        sel[1].position=pos0;
    }
    )
    app:=ComObjActive("Illustrator.Application")
    app.DoJavaScript(irekaeScript)
Return
PR

[イラレ]
AutoHotkeyでイラレのスクリプトにショートカットキーを割り当ててみる(1)

※昨日ぐぐって見つけたばかりのソフトについて知ったようなことを書きますのであまりあてにしないでね

AutoHotkeyは、独自の言語で記述したスクリプトに従って、特定のキーが押された時などに様々な処理を自動実行できるWindows用のフリーソフトです。wikiなどには、AutoHotkeyとAutoHotkey_Lを区別して書いてあるのですが、現在は統合されているようです。最新版のAutoHotkeyをインストールすればAutoHotkey_Lの機能も使えます。

AutoHotkey(公式、英語)
AutoHotkey Wiki(日本語Wiki)

マイドキュメントにAutohotkey.ahkという名前のスクリプトを記述したファイルを置いて、AutoHotkey.exeを起動するというのが基本的な使い方になります。スクリプトを更新したら、タスクトレイの「H」アイコンを右クリックして「Reload This Script」を選びます。

ではではイラレスクリプト(jsx)をキーボードショートカットで実行するスクリプトを書いてみましょう。

[InDesign]
レイアウトグリッドの1文字の大きさをマージンガイドに合わせるスクリプト

InDesignのレイアウトグリッドの文字をでっかくして、1文字だけでマージンガイドに合わせるスクリプトです。表示中の1ページのみが対象になります。

レイアウトグリッドを長方形1つだけにして、マージンガイドの下に隠してしまおうということです。レイアウトグリッドを常に表示しておきたいけど、一部表示したくないページがある場合に使えるかもしれません。それ以外に使い道はありません。
※多段組には対応してません

var page=app.layoutWindows[0].activePage;
app.scriptPreferences.measurementUnit=MeasurementUnits.POINTS;
var pb=page.bounds;
var marginPreference=page.marginPreferences;
var h=pb[2]-pb[0]-marginPreference.bottom-marginPreference.top;
var w=pb[3]-pb[1]-marginPreference.left-marginPreference.right;
var newGData={};
if (w<h){
    newGData.pointSize=w;
    newGData.horizontalScale=100;
    newGData.verticalScale=h/w*100;
} else {
    newGData.pointSize=h;
    newGData.verticalScale=100;
    newGData.horizontalScale=w/h*100;
}
page.gridData.properties=newGData;

[InDesign]
選択キーオブジェクトのレイヤーに他の選択オブジェクトを移動するスクリプト

機能も使い方も記事タイトルで全部説明してしまった気がする…。

複数のページアイテムを選択しているとき、その中からさらに一つ、キーオブジェクトを選択できるというInDesign CS6以降の機能を使うので、それ以前のバージョンでは動きません。

せっかくなので、キーオブジェクトが選ばれてない場合にはダイアログからレイヤーを選択して移動する機能をつけました。スクリプトをキーボードショートカットに登録して使うなら、できるだけ似た機能のスクリプトは統合しておきたいものです。

[ダウンロード]

プロフィール

kawamoto_α
(あるふぁ(仮))


InDesignで新聞組版のようなことをしています。

ツイッタ

※ブラウザによっては当ブログからDLしたzipファイルが拡張子なしになることがあるようですが、.zipを補って開いてください。



イラレ用トーンカーブスクリプト(¥1500)



クロソイド式角丸長方形スクリプト(¥500)
Illustrator用
InDesign用



イラレスクリプトをキーボードショートカットで実行するやつ(Win用)