忍者ブログ

ぼんぷろぐ

InDesign、イラレ、フォトショ(CS6 Win)の勉強中。。。(旧まとめいみブログ)

[InDesign]
片手でアイス食べながら だらだらInDesignを眺めるためのAutoHotkeyスクリプト

中ボタンでいつでも手のひらツールを発展させて、片手のマウスだけでInDesignドキュメントを眺めるのに必要な一通りの機能が使えるようにしてみました。

・中ボタンドラッグで手のひらツール
・中ボタンダブルクリックでスプレッド全体を表示
・右ボタン押しながらスクロールで拡大縮小
・右ボタン押しながら左クリックで「プレビュー←→通常」の切り替え

以下AHKスクリプトのソース

IdProgId=InDesign.Application
DoubleClickDelay:=300
SetMouseDelay, -1
SetKeyDelay, -1
MButtonDownTime1:=0
Return

#IfWinActive ahk_class indesign

;中ボタン押し下げ
*MButton::
    BlockInput, on
    MButtonDownTime0:=MButtonDownTime1
    MButtonDownTime1:=A_TickCount
    If (MButtonDownTime1-MButtonDownTime0<DoubleClickDelay){
        Send ^!0
        Return
    }
    Send {Blind}{Alt Down}
    Send {Blind}{Space Down}
    Send {Blind}{LButton Down}
    BlockInput, off
Return

;中ボタン押し上げ
*MButton up::
BlockInput, on
    Send {Blind}{LButton Up}
    Send {Blind}{Space Up}
    Send {Blind}{Alt Up}
BlockInput, off
Return

;右ボタン+スクロール
RButton & WheelUp::
    Send !{WheelUp}
Return

RButton & WheelDown::
    Send !{WheelDown}
Return

;右ボタン+左ボタン
RButton & LButton::
    app:=ComObjCreate(IdProgId)
    if (app.menuActions.itemByID(118830).checked=-1)
        app.menuActions.itemByID(118829).invoke()
    Else
        app.menuActions.itemByID(118830).invoke()
Return

;右ボタンがそのまま離された
RButton::
    MouseClick ,R
Return



つかいかた


上記のスクリプトをテキストファイル(UTF-8 BOM付き)で保存して、拡張子をahkにしてAutoHotkeyで実行します。

※環境によっては
IdProgId=InDesign.Application
のところを
IdProgId=InDesign.Application.CS6_J
などと書き換えなくてはならないかもしれません



単体で動作するEXEファイル版のダウンロードはこちら
PR

[InDesign]
マウスの中ボタンでいつでも手のひらツール

(2016.07.6)更新
※ここには「Alt+左ドラッグ」と「スペース+左ドラッグ」を選択状態によって使い分けたりするような話が書いてあったのですが、いつでも「Alt+スペース+左ドラッグ」で手のひらツールが使えることをすびさんに教えていただいたので大幅に書き換えました。

※それだけじゃ芸がないので中ダブルクリックで「Ctrl+Alt+0」(スプレッド全体を表示)を送る機能もつけてみました。


以下AHKスクリプトのソース



;中ボタンでいつでも手のひらツール ver2
IdProgId=InDesign.Application
DoubleClickDelay:=300
SetMouseDelay, -1
SetKeyDelay, -1
MButtonDownTime1:=0

#IfWinActive ahk_class indesign

;中ボタン押し下げ
*MButton::
    BlockInput, on
    MButtonDownTime0:=MButtonDownTime1
    MButtonDownTime1:=A_TickCount
    If (MButtonDownTime1-MButtonDownTime0<DoubleClickDelay){
        Send ^!0
        Return
    }
    Send {Blind}{Alt Down}
    Send {Blind}{Space Down}
    Send {Blind}{LButton Down}
    BlockInput, off
Return

;中ボタン押し上げ
*MButton up::
BlockInput, on
    Send {Blind}{LButton Up}
    Send {Blind}{Space Up}
    Send {Blind}{Alt Up}
BlockInput, off
Return


あーとはこれをテキストファイル(UTF-8 BOM付き)で保存してAutoHotkeyで実行するだけで、中ボタンがいつでも使える手のひらツールになります。べんりね~。

※環境によっては
IdProgId=InDesign.Application
のところを
IdProgId=InDesign.Application.CS6_J

[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以降の機能を使うので、それ以前のバージョンでは動きません。

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

[ダウンロード]

プロフィール

あるふぁ(仮)
InDesignで新聞組版のようなことをしてる人です。

InDesignスクリプトについて

つくったInDesignスクリプトのまとめ

twitter

フリーエリア