【Photoshop】特定の操作時にスクリプト実行!さらに別ソフトとも連動する方法

photoshop-script-event-maneger-file-execute

今回以前から試してみたかった2つの検証をしました。

一つは特定の操作時にスクリプトやアクションを実行できる「スクリプトイベントマネージャー」

さらにスクリプトで「別ソフトの実行」も検証してみました。

別ソフトを起動するスクリプト

メモ帳を起動してみます

※パスは2重にスラッシュを入れること

var cmd = "C:\Windows\System32\notepad.exe";
var file = new File(cmd);
file.execute();

保存したタイミングでバッチ処理が走るように設定

ファイル>スクリプト>スクリプトイベントマネージャー

で、特定のタイミングでスクリプトを発動するようにします。

var cmd = "C:\Users\min\Desktop\test.bat";
var file = new File(cmd);
file.execute();

保存するタイミングで、バッチ処理が走りました。

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

イベント追加で適当な名前をつけてイベントを追加すると、スクリプトイベントマネージャー.xmlが追加されるのでここを見るとイベント名の入力方法がわかります。

C:\Users\ユーザー名\AppData\Roaming\Adobe\Adobe Photoshop CC 2017\Adobe Photoshop CC 2017 Settings\スクリプトイベントマネージャー.xml

新規イベントの追加

ScriptingListenerJS.logで調べます。
たとえばレイヤーなら「Lyr 」と記述されています。

調べ終わったらスクリプトイベントマネージャーからイベント追加で下記の用に入力します。

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

※MkやLyrには後ろに半角スペースがあります

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

[使用例]PSD保存時にPNG出力も同時にする

保存時に同階層にPNG出力するスクリプトを設定しておけば、PSD保存時に同時にPNGも作成できます。

ダウンロード

[使用例]Photoshop実行時、バッチを実行してスクリプトを最新に更新。

バッチ処理を書けばファイルコピーなどでツールも更新できそうです。

[参考]アクションを最新に更新

https://cat.adodtp.com/2017/03/15/?p=1771

まとめ

今回の検証、スクリプトでいろいろなタイミングやソフト連動することができ、可能性が広がりました!