Photoshopには、特定の操作をトリガーとしてスクリプトやアクションを実行できる「スクリプトイベントマネージャー」という機能が備わっています。
この機能を活用すると、手動で行っていたルーティン処理を自動化し、作業時間を大幅に短縮できます。
本記事では、スクリプトイベントマネージャーの設定手順と、ファイル保存時にバッチ処理を実行する具体例を解説します。
2026年10月17日に、Adobe Photoshop 2026(27.11.0)とWindows 11 Pro(10.0.26200)で、PNG出力の例を登録し、保存したときに動くことを確かめました。
バッチファイルを実行する例と、ScriptingListener を使って新しいイベントを足す例は確かめていません。
結果は「Photoshop 2026で確かめた手順と結果」の節にまとめました。
スクリプトイベントマネージャーの基本設定
STEP 1:保存時にバッチ処理を実行する設定
- [ファイル] → [スクリプト] → [スクリプトイベントマネージャー]を選択してダイアログを開きます。
test.batを実行するスクリプトファイルを指定して登録します。
以下のコードを記述したスクリプトを登録すると、Photoshopでファイルを保存したタイミングでバッチ処理が自動実行されます。

var cmd = "C:\\Users\\username\\Desktop\\test.bat";
var file = new File(cmd);
file.execute();
この設定により、PSDの保存処理と連動して指定のバッチ処理が自動で実行されます。
この test.bat を実行する例は、今回は確かめていません。
コードの username の部分は、自分の環境のパスに書き換えて使います。
スクリプトイベントマネージャーへの新規イベント追加方法
ダイアログの[完了]を押すと、スクリプトイベントマネージャー.xmlに設定が書き出されます。
Photoshop 2026(Windows)で確かめたところ、このファイルは最初に[完了]を押したときにできました。
中身は「Photoshop イベント」の一覧(表示名と識別子)と、[参照…]で選んだスクリプトの場所でした。
どのイベントにどのスクリプトを登録したかは、このファイルには入っていませんでした。
このファイルを開いて記述を確認することで、各イベント名の正確な指定方法を把握できます。
設定ファイルの保存場所
C:\Users\ユーザー名\AppData\Roaming\Adobe\Adobe Photoshop CC\Adobe Photoshop CC Settings\スクリプトイベントマネージャー.xml上はPhotoshop CCのころの場所です。
Photoshop 2026(Windows)では、次の場所にできました。
C:\Users\ユーザー名\AppData\Roaming\Adobe\Adobe Photoshop 2026\Adobe Photoshop 2026 Settings\スクリプトイベントマネージャー.xmlスクリプトイベントマネージャー.xml の記述例
<スクリプトイベントマネージャー>
<events>
<0>
<name>アプリケーションを起動</name>
<value>Ntfy</value>
<valueClass></valueClass>
</0>
<1>
<name>新規ドキュメント</name>
<value>Mk </value>
<valueClass>Dcmn</valueClass>
</1>
<2>
<name>ドキュメントを開く</name>
<value>Opn </value>
<valueClass></valueClass>
</2>
<3>
<name>ドキュメントを保存を開始</name>
<value>save</value>
<valueClass>saveBegin</valueClass>
</3>
<4>
<name>ドキュメントを保存</name>
<value>save</value>
<valueClass>saveSucceeded</valueClass>
</4>
<5>
<name>ドキュメントを閉じる</name>
<value>Cls </value>
<valueClass></valueClass>
</5>
<6>
<name>日本標準用紙</name>
<value>Prnt</value>
<valueClass></valueClass>
</6>
<7>
<name>ドキュメントの書き出し</name>
<value>Expr</value>
<valueClass></valueClass>
</7>
<8>
<name>すべてのイベント</name>
<value>All </value>
<valueClass></valueClass>
</8>
<9>
<name>test</name>
<value>aaa</value>
<valueClass></valueClass>
</9>
</events>
<extrafiles>
<0>~/Desktop/test.jsx</0>
</extrafiles>
</スクリプトイベントマネージャー>Photoshop 2026で書き出されたファイルでも、0〜8 の9件は上の例と同じ名前と値でした。
上の例の test の行は、作者の環境で足したイベントです。
extrafiles には、[参照…]で選んだスクリプトの場所が入っていました。
新規イベントの追加手順
ScriptingListenerJS.logを参照すると、各操作に対応するイベント識別名を確認できます。
ScriptingListenerJS.log は、ScriptingListener プラグインを入れて書き出す記録です。
2026年10月17日の確認ではこのプラグインを入れておらず、この節の新規レイヤーの例と「イベントを追加…」での登録は確かめていません。
たとえば、新規レイヤーの作成時をトリガーにしてスクリプトを動かしたい場合は、以下のようにイベントIDを指定します。

<name>新規レイヤー</name>
<value>Mk </value>
<valueClass>Lyr </valueClass>以上の設定を完了すると、新規レイヤーが追加されたタイミングで指定したスクリプトが実行されます。
[実践例] PSD保存時に同階層へPNGを自動出力する
PhotoshopでPSDファイルを保存したタイミングで、同じフォルダー内へPNG画像を自動書き出しするスクリプトの設定例です。

PNG出力スクリプト(同フォルダに保存)
function CGM_SavePng() {
var doc = app.activeDocument;
var docName = doc.name;
var docPath = doc.path;
var folder = new Folder(docPath);
if (docName.indexOf(".") != -1) {
var baseName = docName.match(/(.*)\.[^\.]+$/)[1];
} else {
var baseName = docName;
}
if (folder == null) {
return;
}
exportPng(doc, folder, baseName + '.png');
}
function exportPng(doc, folder, name) {
var file = new File(folder.fsName + "/" + name);
var options = new ExportOptionsSaveForWeb();
options.format = SaveDocumentType.PNG;
options.optimized = true;
options.interlaced = false;
doc.exportDocument(file, ExportType.SAVEFORWEB, options);
}
CGM_SavePng();作成したスクリプトをスクリプトイベントマネージャーに登録しておけば、PSDを保存するたびにPNGも自動で同時出力されます。
Photoshop 2026で確かめた手順と結果
2026年10月17日に、Adobe Photoshop 2026(27.11.0)とWindows 11 Pro(10.0.26200)で、上のPNG出力スクリプトを書き換えずに登録し、保存で動くかを確かめました。
練習用に、800×500 px・RGB 8bitのPSD(白地に青い長方形と黄色い円)を用意しました。
PSDの作成と、保存の前に赤い四角のレイヤーを足す変更はスクリプトで行い、確認には含めていません。
登録から保存までは、次の手順で画面から行いました。
- [ファイル]→[スクリプト]→[スクリプトイベントマネージャー…]を開きます。
- 「イベントを使用してスクリプト / アクションを実行」にチェックを入れます。
- 「Photoshop イベント」で「ドキュメントを保存」を選びます。
- 「スクリプト」の一覧の最後にある「参照…」を選び、開いた窓で保存したスクリプトのファイルを選んで[OK]を押します。
- [追加]を押します。
- [完了]で閉じます。
- 練習用のPSDを[ファイル]→[保存]で保存します。
チェックを入れるまでは、「Photoshop イベント」から下は灰色で選べませんでした。
「Photoshop イベント」の一覧には、次の画面の項目が並んでいました。

[追加]を押すと、上の一覧に「ドキュメントを保存: CGM_SavePng.jsx」と並びました。

[完了]で閉じてからPSDを保存した結果は、次のとおりです。
| 確かめたこと | 結果 |
|---|---|
| フォルダーの中に置いたPSDを保存 | 同じフォルダーに、同じ名前のPNG(event-test.png)ができた。ダイアログは出なかった |
| できたPNG | 800×500 px。256色以下のインデックスカラー(PNG-8)で、保存した時点で見えていたレイヤーを1枚にまとめた画像 |
| 保存した直後の文書 | タブの名前の後ろに「*」が付き、未保存の扱いに戻った |
| 一時的に割り当てたドライブの直下に置いたPSDを保存 | PSDは保存されたが、PNGはできず「保存先フォルダーが存在しないため、アクションを完了できませんでした。」と出た |
できたPNGは256色以下に減色されるので、写真のように色の多い画像では見た目が変わることがあります。
コードで色数を指定する書き方(options.PNG8 = false; など)は確かめていません。
ドライブの直下では、コードが組み立てる出力先が R:\/event-test.png のように区切りが重なった形になっていました(スクリプトで読み取った値です)。
フォルダーの中に置いたPSDでは、PNGを書き出せました。
練習のあとで登録を外す
登録したままにすると、Photoshopで保存するたびにスクリプトが動きます。
試したあとは、次の手順で登録を外しました。
- [ファイル]→[スクリプト]→[スクリプトイベントマネージャー…]を開き、上の一覧の「ドキュメントを保存: CGM_SavePng.jsx」を選びます。
- [削除]を押します。
- 「イベントを使用してスクリプト / アクションを実行」のチェックを外し、[完了]で閉じます。
もう一度開くと、チェックが外れ、一覧は「イベントが関連付けられたスクリプト / アクションはありません」に戻っていました。

[削除]で外れるのは登録だけで、スクリプトのファイルは残っていました。
[参照…]で選んだスクリプトの場所も、XMLファイルに残っていました。
Photoshopを再起動した後も登録が残るか、アクションを登録したときの動き、Macでの動きは確かめていません。
応用アイデアと活用例
- Photoshop起動時にバッチ処理を実行(最新スクリプトの自動同期など)
- 特定のツール選択・使用時にスクリプトを実行
- 新規レイヤー追加時に既定のエフェクトや調整レイヤーを適用
スクリプトイベントマネージャーを活用することで、定常的な手作業を自動化し、作業効率を大幅に引き上げることが可能になります。
その他のPhotoshop自動化テクニックや関連操作については、以下の関連記事もあわせてご確認ください。

この記事で紹介しているコードは、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。
スクリプトを動かす環境の記事は、ほかにもあります。




まとめ
- 特定の操作(イベント)をトリガーにスクリプトやアクションを自動実行できる
- PSD保存時にPNGを自動出力させるなど、ルーティン作業を自動化できる
- ScriptingListenerJS.log でイベントコードを調べれば、独自の新規イベントも登録できる
- 起動時やファイル保存時とバッチ処理を連携させ、柔軟なワークフローを構築できる
スクリプトイベントマネージャーを導入し、繰り返しの手作業を省いた快適な制作フローを整えましょう。
よくある質問:スクリプトイベントマネージャーで保存時の処理を自動化する
スクリプトイベントマネージャーとは何ですか?
Photoshopに備わっている、特定の操作をトリガーとしてスクリプトやアクションを実行できる機能です。手動で行っていたルーティン処理を自動化し、作業時間を短縮できます。
どこから開きますか?
[ファイル] → [スクリプト] → [スクリプトイベントマネージャー]を選択してダイアログを開きます。
ファイルを保存したときにバッチ処理を実行するにはどうしますか?
ダイアログで、実行するスクリプトファイルを指定して登録します。記事のコードを記述したスクリプトを登録すると、Photoshopでファイルを保存したタイミングでバッチ処理が自動実行され、PSDの保存処理と連動して指定のバッチ処理が実行されます。
新しいイベントを追加するにはどうしますか?
ダイアログの[完了]を押すと、イベントの一覧がXMLファイルに書き出されます。このファイルを開いて記述を確認することで、各イベント名の正確な指定方法を把握できます。記事では、新規レイヤーの作成時をトリガーにする例として、イベントIDを指定する方法を紹介しています。記述の際は、記事の注意書きのとおり、指定箇所の後ろに半角スペースが必要です。
新規レイヤーの例は、2026年10月17日の確認には含めていません。
独自のイベントを調べるにはどうしますか?
ScriptingListenerJS.logでイベントコードを調べれば、独自の新規イベントも登録できるとしています。
PSDを保存するたびにPNGも自動で出力できますか?
はい。記事の実践例では、PSD保存時に同じ階層へPNGを自動出力するスクリプトを紹介しています。作成したスクリプトをスクリプトイベントマネージャーに登録しておけば、PSDを保存するたびにPNGも自動で同時出力されます。
2026年10月17日にPhotoshop 2026で確かめたところ、PSDと同じフォルダーに同じ名前のPNGができました。
一時的に割り当てたドライブの直下に置いたPSDでは、PNGは書き出されませんでした。
ほかにどんな使い方がありますか?
Photoshop起動時にバッチ処理を実行する(最新スクリプトの自動同期など)、特定のツール選択・使用時にスクリプトを実行する、新規レイヤー追加時に既定のエフェクトや調整レイヤーを適用する、といった応用アイデアを紹介しています。
スクリプトのコードはどこで確認できますか?
記事内に掲載しているほか、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。
メニューの表示や名称が記事と違う場合はどうすればよいですか?
Photoshopのバージョンによってメニューの名称や配置が変わることがあります。最新の操作手順は、Adobeの公式情報で確認してください。
