PhotoshopのアクションをJavaScriptスクリプト(.jsx)に変換すると、より柔軟な自動処理が可能になります。
本記事は2017年の操作記録です。
変換にはxbytor氏のxtoolsを使います。
単一アクションとATN全体の違い、appsとxappsの配置は、作者のxtools資料で確認できます。この変換は旧来のExtendScript用JSXが対象です。UXPのPSJSへの変換・移行とは別に扱います。
現在のPhotoshopでの変換・実行テストは行っていません。
PhotoshopでアクションをJavaScriptに変換する方法
変換用のスクリプトを用意し、Photoshopから実行します。
ActionToJavascriptは、アクションパネルに読み込まれた1つのアクションを対象にします。
.atnファイル全体を変換するActionFileToJavascriptとは用途が異なります。
Photoshopのほかの操作は、まとめからご覧いただけます。

1. スクリプトをダウンロード
以下はxtoolsの過去の配布先です。
パッケージを展開し、同梱の説明でActionToJavascript.jsxの配置と依存ファイルを確認します。
2. スクリプトの保存
- 作者の配布資料では、xtools/appsに単体実行用、xtools/xappsにライブラリを参照する版が用意されています。利用するパッケージの構成を確認します。
- 依存ファイルを参照する版はActionToJavascript.jsxだけを別の場所へコピーしても動作しません。単体実行用を使うか、同梱の導入手順に従います。
- 配布ファイルは元の形式で保存します。編集する場合は複製を作り、UTF-8など保存時の文字コードによる文字化けに注意します。
3. スクリプトを実行

- [ファイル] → [スクリプト] → [参照] を選択します。
- 保存した ActionToJavascript.jsx を選択して開きます。
- 変換元をPhotoshopのアクションパネルに読み込み、ダイアログで対象のアクションを選択します。
- 処理が完了すると、指定したアクションが JavaScript(.jsx) ファイルとして出力されます。
4. 変換完了
スクリプトが正常に実行されると、Photoshopのアクションが JavaScriptコード に変換されます。
出力されたスクリプトを編集することで、条件分岐や繰り返しなどの高度な処理を組み込めます。
まとめ
PhotoshopのアクションをJavaScriptに変換することで、以下のメリットがあります。
- より高度なカスタマイズが可能になる。
- 複雑な作業を自動化できる。
- 複数のファイルに適用する際に便利。
変換できても、元アクションと同じ結果になるとは限りません。
複製した画像で実行結果を比較し、保存先やレイヤー名への依存を確認してから使用してください。
アクション機能の記事は、ほかにもあります。


よくある質問:アクションをJavaScriptに変換する
アクションをJavaScript(.jsx)に変換するとどんなメリットがありますか?
より高度なカスタマイズが可能になり、複雑な作業を自動化できます。複数のファイルに適用する際にも便利です。出力されたスクリプトを編集すれば、条件分岐や繰り返しなどの高度な処理を組み込めます。
どのツールを使って変換しますか?
xbytor氏のxtoolsを使います。記事は2017年の操作記録で、現在のPhotoshopでの変換・実行テストは行っていません。配布先や最新の対応状況は、作者の配布資料や公式情報で確認してください。
ActionToJavascriptとActionFileToJavascriptはどう違いますか?
ActionToJavascriptは、アクションパネルに読み込まれた1つのアクションを対象にします。ActionFileToJavascriptは、.atnファイル全体を変換するもので、用途が異なります。
スクリプトはどこに保存しますか?
作者の配布資料では、xtools/appsに単体実行用、xtools/xappsにライブラリを参照する版が用意されています。利用するパッケージの構成を確認してください。依存ファイルを参照する版は、ActionToJavascript.jsxだけを別の場所へコピーしても動作しません。単体実行用を使うか、同梱の導入手順に従います。
ファイルを編集するときの注意点は?
配布ファイルは元の形式で保存します。編集する場合は複製を作り、UTF-8など保存時の文字コードによる文字化けに注意してください。
変換すれば、元のアクションと同じ結果になりますか?
変換できても元アクションと同じ結果になるとは限らないとしています。複製した画像で実行結果を比較し、保存先やレイヤー名への依存を確認してから使用してください。
PSJS(UXP)にも変換できますか?
いいえ。この変換は旧来のExtendScript用JSXが対象で、UXPのPSJSへの変換・移行とは別に扱うとしています。最新の仕様はAdobeの公式情報で確認してください。
変換が終わるとどうなりますか?
スクリプトが正常に実行されると、Photoshopのアクションが.jsxファイルとして出力され、JavaScriptコードに変換されます。
