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

Photoshop│ScriptingListenerの使い方

PhotoshopやIllustrator、After EffectsなどのAdobe製品は、ExtendScript(JavaScriptベース)を使って操作を自動化できます。

ただし、すべての機能にスクリプト用の公式コマンドが用意されているわけではありません。

公式コマンドが用意されていない操作を自動化するために使われる、スクリプティングリスナーの概要を示すイメージ。

そのため、一部の操作については「ScriptingListener」プラグインを使い、実際の操作をログとして取得してスクリプトに活用します。

目次

ScriptingListenerとは

ScriptingListenerは、Photoshopでの操作をスクリプト(JavaScript)形式のログとして自動記録するAdobe公式のプラグインです。

出力されたログをスクリプトに組み込めば、標準のオブジェクトモデルでは対応していない操作も自動化できます。

ScriptingListenerの使い方【3ステップ】

STEP1:ScriptingListenerプラグインをダウンロードする

Adobe公式サイトから、使用環境に合ったScriptingListenerプラグインをダウンロードします。

ダウンロードページ(Adobe公式)

対応プラグインは以下の通りです。

  • Windows用
  • macOS用(Photoshop 2020以降)
  • macOS用(Photoshop 2019以前)

STEP2:プラグインをPhotoshopにインストールする

ダウンロードしたファイルを、該当するOSのプラグインフォルダへ配置します。

Windowsの場合

C:\Program Files\Adobe\Adobe Photoshop [バージョン]\Plug-ins\

ScriptingListener.8li を配置

Macの場合

/Applications/Adobe Photoshop [バージョン]/Plug-ins/ScriptingListener.plugin を配置

フォトショップのプラグインフォルダー内にスクリプティングリスナーを配置した状態を示す画面。

Apple Silicon(M1等)搭載Macでの注意点

プラグインを認識させるため、Rosettaを使用してPhotoshopを起動する必要があります。

  • Photoshopアプリを右クリックして「情報を見る」を選択
  • 「Rosettaを使用して開く」にチェックを入れる
情報を見る画面で、ロゼッタを使用して開くにチェックを入れる設定手順を示す画面。

STEP3:ログの確認と停止

Photoshopを起動すると、自動的にデスクトップに「ScriptingListenerJS.log」ファイルが生成され、操作ログが記録されます。

フォトショップ起動後にデスクトップへ自動生成された、操作ログファイルを示す画面。

ログの記録を一時停止・再開するスクリプト

ログ出力を一時的に無効化したい場合、以下のスクリプトを Presets/Scripts/ フォルダなどに保存しておくと便利です。

ログ出力をOFFにする

var listenerID = stringIDToTypeID("AdobeScriptListener ScriptListener");
var keyLogID = charIDToTypeID('Log ');
var d = new ActionDescriptor;
d.putBoolean(keyLogID, false);
executeAction(listenerID, d, DialogModes.NO);

ログ出力をONに戻す

var listenerID = stringIDToTypeID("AdobeScriptListener ScriptListener");
var keyLogID = charIDToTypeID('Log ');
var d = new ActionDescriptor;
d.putBoolean(keyLogID, true);
executeAction(listenerID, d, DialogModes.NO);

Photoshopのそのほかの操作は、まとめ記事から確認できます。

作成したスクリプトをメニューに登録する方法はこちらです。

この記事で紹介しているコードは、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。

環境設定とカンバスの記事は、ほかにもあります。

まとめ

ScriptingListenerは、DOMでサポートされていない操作でもコード化できる便利なツールです。

Photoshopのスクリプト自動化を進めるうえで役立つプラグインです。

操作のコード化に迷った際は、ScriptingListenerでログを記録して記述を確認してみてください。

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

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

Photoshopのおすすめ書籍

動作要件とPCの確認項目

周辺機器の優先度

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