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を保存するタイミングで自動的にバッチ処理が実行 されるようになります。

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

イベントを追加すると、 スクリプトイベントマネージャー.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 を確認すると、各操作のイベント名を調べることができます。

例えば 新規レイヤー作成時 にスクリプトを実行したい場合、以下のように入力します。

<name>新規レイヤー</name>
<value>Mk  </value>
<valueClass>Lyr </valueClass>

注意MkLyr の後には 半角スペース が入ります。

以上で設定するとレイヤー作成時にスクリプトを実行できたりします。

[使用例] 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も同時に保存 されます。

さらに便利な活用アイデア

  1. Photoshop起動時にバッチ処理を実行 → スクリプトを最新に更新
  2. 特定のツールを使用したときにスクリプトを実行
  3. レイヤー追加時に特定のエフェクトを適用

スクリプトイベントマネージャーを活用することで、 Photoshopの自動化が飛躍的に向上 します。

まとめ

  • スクリプトイベントマネージャーを使えば、特定の操作でスクリプトを自動実行可能
  • PSD保存時にPNG出力するスクリプトを設定すると、作業効率が向上
  • ScriptingListenerJS.log でイベント名を調べ、新規イベントを追加可能
  • Photoshopの起動時や保存時にバッチ処理を組み込める

Photoshopの自動化を活用して、よりスムーズな作業環境を構築しましょう!

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