Amazonで商品を見るセール会場へ

Photoshop│ 「スクリプトイベントマネージャー」の使い方

Photoshopには、特定の操作をトリガーとしてスクリプトやアクションを実行できる「スクリプトイベントマネージャー」という機能が備わっています。

この機能を活用すると、手動で行っていたルーティン処理を自動化し、作業時間を大幅に短縮できます。

本記事では、スクリプトイベントマネージャーの設定手順と、ファイル保存時にバッチ処理を実行する具体例を解説します。

目次

スクリプトイベントマネージャーの基本設定

STEP 1:保存時にバッチ処理を実行する設定

  1. [ファイル][スクリプト][スクリプトイベントマネージャー]を選択してダイアログを開きます。
  2. test.batを実行するスクリプトファイルを指定して登録します。

以下のコードを記述したスクリプトを登録すると、Photoshopでファイルを保存したタイミングでバッチ処理が自動実行されます。

スクリプトイベントマネージャーでバッチ処理を実行するスクリプトファイルを指定して登録する画面。
var cmd = "C:\\Users\\username\\Desktop\\test.bat";
var file = new File(cmd);
file.execute();
PSDの保存処理と連動してバッチ処理を自動実行するための設定完了画面。

この設定により、PSDの保存処理と連動して指定のバッチ処理が自動で実行されます。

スクリプトイベントマネージャーへの新規イベント追加方法

イベントを追加すると、スクリプトイベントマネージャー.xmlに設定情報が保存されます。

このファイルを開いて記述を確認することで、各イベント名の正確な指定方法を把握できます。

設定ファイルの保存場所

C:\Users\ユーザー名\AppData\Roaming\Adobe\Adobe Photoshop CC\Adobe Photoshop CC 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>
</スクリプトイベントマネージャー>

新規イベントの追加手順

ScriptingListenerJS.logを参照すると、各操作に対応するイベント識別名を確認できます。

たとえば、新規レイヤーの作成時をトリガーにしてスクリプトを動かしたい場合は、以下のようにイベントIDを指定します。

新規レイヤー作成時をトリガーとしてスクリプトを動かすためのイベントID指定例を示す画面。
<name>新規レイヤー</name>
<value>Mk  </value>
<valueClass>Lyr </valueClass>

注意MkおよびLyrの後ろには、それぞれ半角スペースが必要です。

以上の設定を完了すると、新規レイヤーが追加されたタイミングで指定したスクリプトが実行されます。

[実践例] PSD保存時に同階層へPNGを自動出力する

PhotoshopでPSDファイルを保存したタイミングで、同じフォルダー内へPNG画像を自動書き出しするスクリプトの設定例です。

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も自動で同時出力されます。

応用アイデアと活用例

  1. Photoshop起動時にバッチ処理を実行(最新スクリプトの自動同期など)
  2. 特定のツール選択・使用時にスクリプトを実行
  3. 新規レイヤー追加時に既定のエフェクトや調整レイヤーを適用

スクリプトイベントマネージャーを活用することで、定常的な手作業を自動化し、作業効率を大幅に引き上げることが可能になります。

その他のPhotoshop自動化テクニックや関連操作については、以下の関連記事もあわせてご確認ください。

スクリプトを動かす環境の記事は、ほかにもあります。

まとめ

  • 特定の操作(イベント)をトリガーにスクリプトやアクションを自動実行できる
  • PSD保存時にPNGを自動出力させるなど、ルーティン作業を自動化できる
  • ScriptingListenerJS.log でイベントコードを調べれば、独自の新規イベントも登録できる
  • 起動時やファイル保存時とバッチ処理を連携させ、柔軟なワークフローを構築できる

スクリプトイベントマネージャーを導入し、繰り返しの手作業を省いた快適な制作フローを整えましょう。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

Photoshopのおすすめ書籍

Photoshop用PCの選び方

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次