Keyboard MaestroでJavaScriptを実行する方法

この記事内の目次

Keyboard Maestroでは、Google Chromeなどのブラウザーに対してJavaScriptを実行できますが、Illustratorに対してJavaScriptを実行するアクションは用意されていません。

Keyboard MaestroでJavaScriptを実行する方法についてまとめてみます。

執筆にあたり、WebDesigner's Memorandumのサイトウさんに協力いただきました。

「JavaScriptファイルを開く」というアプローチ(1)

「Open a File, Folder or Application」アクションを使って、JavaScriptファイル(.jsx)を指定する方法です。

最も一般的な方法といえますが、アプリケーションの指定(with)が必要なため、毎年、膨大なマクロの修正が必要。移行期には2つのバージョンを平行利用することもあり、混乱します。

「JavaScriptファイルを開く」というアプローチ(2)

バージョン問題を解決するために、「おまじないマクロ」など、さまざまな方法が考案されてきました。

深く考えずに実装すればいいのですが、それでもちょっとハードルが高いですよね…

AppleScriptで指定する(1)

Keyboard MaestroからJavaScriptは実行できませんが、AppleScriptは実行できます。

そこで、AppleScript経由でJavaScriptを実行する、というアプローチです。

「型」としては、次のようなロジックです。

tell application "Adobe Illustrator" to do javascript "(ここにJavaScriptのコードを書く/ペースト)"

“見通し”をよくするために、改行とコメントを付けると編集しやすいでしょう。

tell application "Adobe Illustrator" to do javascript "
//-------------------------------------

(ここにJavaScriptのコードを書く/ペースト)

//-------------------------------------
"

ひとつ注意点があります。

javascript ""内に記述するため、JavaScriptコード内の\"は\'に変更する必要があります。

わかっていても、これを忘れてしまい、よくハマります…

AppleScriptで指定する(2)

変数を使い、toフィールド内にJavaScriptのソースコードを入力。AppleScript経由でJavaScriptを実行しつつ、先の変数を参照するというアプローチです。

後者は、「おまじないマクロ」として参照するようにしてもよいのですが、少し面倒な感じは残ります。

「sttk3_maestroPack」を使う

「したたか企画」さん謹製のプラグインをインストールすると、「Ai Execute Jsx Text」アクションを使って、次のように記述することができます。

非常にシンプルでクレバーなアプローチですが、このプラグインの購入とインストールがネックです。

まとめ

それぞれを検討すべきポイントから比較してみました。

  • ファイル数
  • アクション数
  • 見通し
  • JavaScriptソースコードの編集
  • Illustratorのバージョン対応
  • 下準備
ファイル
の数
アクション
の数
JSの
編集
Illustratorの
バージョン対応
準備
JavaScript
ファイルを開く(1)
11×
JavaScript
ファイルを開く(2)
12+
AppleScriptで
指定する(1)
01
AppleScriptで
指定する(2)
02
「sttk3_maestroPack」
を使う
01×

私(鷹野)自身は、「したたか企画」さん謹製のプラグインを使いますが、Keyboard Maestroの導入セミナーとしては「AppleScriptで指定する(1)」かな〜という結論です。

リンク集