メインコンテンツへスキップ
見出し画像

UXPScriptのソースコードを実行する Keyboard Maestro 用アクション

    UXPScriptはAdobeアプリを自動で動かすための機能で、JavaScriptの1種です。InDesignでは2023(18.4)から搭載されました。ファイルの拡張子にはidjsを使用します。

    InDesignではスクリプトパネルがついていています。ショートカットも簡単に設定できるため、さほど苦労しないかもしれません。しかしちょっとした書き捨てスクリプトを実行したいとき、ファイルで管理するのは面倒なことが多いでしょう。

    そこで今回は、InDesignでUXPScriptのソースコードを実行するKeyboard Maestro用アクションを紹介します。

    あらまし

    画像

    InDesignでUXPScriptのテキストを実行します。入力欄にUXP用のJavaScriptソースコードを書き込み、実行するだけです。引数を指定でき、スクリプト側ではuxpモジュールのscript.argsでそれを受け取ります。Argumentsに用がないときは、空白でも何か文字を入れておいても問題ありません。

    Undo modeを指定することで、スクリプト実行後Undoしたときの挙動を制御できます。

    Script Request:スクリプト内の各動作を個別のステップとして元に戻す
    Auto Undo:前のステップの一部としてスクリプト全体を元に戻す
    Entire Script:スクリプト全体を単一のステップとして元に戻す
    Fast Entire Script:スクリプト全体を単一のステップとして高速に元に戻す

    おすすめはEntire Scriptです。Fast Entire Scriptにすると、オブジェクトレイヤーオプションを変更するスクリプトなどで止まることがあります。

    スクリプト実行結果を文字列として返し、Keyboard Maestroでそれを通知したり変数にセットしたりできます。

    動作環境・インストール方法はそれぞれリンク先をご確認ください。macOSとKeyboard Maestroを使用中のかたのみご利用できます。

    使いかた

    InDesignを開いた状態で、このKeyboard Maestroアクションを実行してください。指定したスクリプトが実行されます。

    UXPScriptの引数の取得(※開発者向け情報)

    Argumentsはuxpモジュールのscript.args[0]で受け取ります。次のスクリプトは、Argumentsに指定したテキストをダイアログに出すものです。

    const { app } = require('indesign') ;
    const { script } = require('uxp') ;
    
    (() => {
      alert(script.args[0]) ;
    })() ;
    
    function alert(msg) {
      const theDialog = app.dialogs.add() ;
      const col = theDialog.dialogColumns.add() ;
      const colText = col.staticTexts.add() ;
      colText.staticLabel = '' + msg ;
      theDialog.canCancel = false ;
      theDialog.show() ;
      theDialog.destroy() ;
      return ;
    }

    UXPScriptの結果のセット(※開発者向け情報)

    結果はUXPScript開発者が積極性にセットする必要があります(ExtendScriptのようにreturnした値が自動で使われるわけではありません)。次のコードのようにsetResultで結果をセットしてください。

    const { script } = require('uxp') ;
    
    (() => {
      script.setResult('Success message from InDesign') ;
    })() ;

    買う

    すべてのアクションをまとめてほしい場合は、マガジン[MaestroPack]または記事[前面にあるAdobeアプリを自動で動かす Keyboard Maestro 用追加アクション]をご購入ください。すでにそちらの記事を購入済みの場合は、その記事からダウンロードできます。

    単品で買いたい場合はこの記事をご購入のうえ、下のリンクからダウンロードしてください。

     
     
    自営業のイラストレーター・図版制作。 理科,社会教科書用の作成がメイン。 Illustratorのスクリプトを扱う。 サイトhttps://sttk3.com は「したたかさん」で覚えてください。

    あなたへのおすすめ