Photoshopのスクリプトで単純作業を効率化!画像をまとめて自動作成する方法

※当サイトにはプロモーションが含まれています。

クライアントクライアント

かけ算(九九)の式を、PNG形式にしてそれぞれ書き出してくれ!

にゃテックにゃテック

おけまるだにゃ。

例えば、下記の画像のように、1~9までのかけ算の式を画像にする場合、81枚の画像を作る必要があります。

9×9

にゃのらいとにゃのらいと

81回も同じような作業を繰り返すのは面倒くさいにゃ

このような繰り返しの作業をする場合、Photoshopのスクリプト(ExtendScript) を使うことで、作業時間を短縮することができます。

ExtendScriptとは?

Adobe製品専用に最適化されたJavaScriptベースのスクリプト言語。PhotoshopやIllustratorなどの操作を自動化するこが可能です。

今回は、Photoshopのスクリプト(ExtendScript)の使い方についてまとめてみました。

なお、使用したPhotoshopのバージョンは、25.11.0です。

Photoshopの画面構成の名称は、下記をご参照ください。

PhotoShopの画面構成の説明
photoshop画面構成
A.メニューバー:画面の一番上、オプションバーの上に表示され、全般的な設定ができます(ファイルを開く/閉じるなど)

B.オプションバー:メニューバーの下に表示され、ツールの詳細設定ができます(ブラシであれば太さなどの変更など)

C.ツールバー:画面の左側に表示され、作業に使える様々な道具が収納されています(図形の作成など)

D.パネル:設定の一部が画面の右に表示され、オプションバーではできない詳細設定ができます

Photoshopのスクリプトで画像をまとめて自動作成する方法

今回は、かけ算(九九)の式の画像を、Photoshopのスクリプトを使って書き出したいと思います。

①レイヤーを作成する

まずは作業しやすいレイヤー構成を考え、レイヤーを作成します。

今回は下記のような構成にしました。

前フォルダ
┣ 2
┣ 3
┣ 4
┣ 5
┣ 6
┣ 7
┣ 8
┗ 9

後フォルダ
┣ 2
┣ 3
┣ 4
┣ 5
┣ 6
┣ 7
┣ 8
┗ 9

×(レイヤー)
Photoshop|レイヤー構成

②Photoshopのスクリプトを作成

Photoshopのスクリプトを作成します。

#target photoshop

var frontFolder = app.activeDocument.layerSets.getByName("前フォルダ");
var backFolder = app.activeDocument.layerSets.getByName("後フォルダ");
var multiplyLayer = app.activeDocument.artLayers.getByName("×");

var outputFolder = Folder.selectDialog("保存先フォルダを選んでください");

for (var i = 0; i < frontFolder.artLayers.length; i++) {
for (var j = 0; j < backFolder.artLayers.length; j++) {
// まず全部非表示にする
hideAll(frontFolder);
hideAll(backFolder);
multiplyLayer.visible = false;
var frontLayer = frontFolder.artLayers[i];
var backLayer = backFolder.artLayers[j];
// 必要なレイヤーだけ表示
frontLayer.visible = true;
backLayer.visible = true;
multiplyLayer.visible = true;
// 画像を保存
var fileName = frontLayer.name + "x" + backLayer.name + ".png";
savePng(outputFolder + "/" + fileName);
}
}

// レイヤーを全部非表示にする関数
function hideAll(folder) {
for (var i = 0; i < folder.artLayers.length; i++) {
folder.artLayers[i].visible = false;
}
}

// PNGで保存する関数
function savePng(filePath) {
var pngOptions = new PNGSaveOptions();
pngOptions.compression = 9;
pngOptions.interlaced = false;
var file = new File(filePath);
app.activeDocument.saveAs(file, pngOptions, true, Extension.LOWERCASE);
}
にゃのらいとにゃのらいと

スクリプトなんて作れないにゃ!

エクセルのマクロ(VBA)や、Photoshopのスクリプト(ExtendScript)は、ChatGPTやGeminiなどのAIを活用して作成することができます。

エクセルやPhotoshopのようなソフトウェアの場合、Webサイトと違って競合関係を考慮する必要がほとんどないため、AIを利用すると非常に便利です。

なお、作成したファイルは、拡張子.jsxとして保存します(今回は、multiply.jsxという名称にしました)。

③スクリプトファイルの保存場所へ移動

Phothoshopが参照先にできるように、作成した.jsxファイルを、スクリプトファイルの保存場所に保存します。

スクリプトファイルの保存場所は下記です。

[ Windows ]
C:/Program Files/Adobe/Adobe Photoshop 2025/Presets/Scripts/

[ Mac ]
/Applications/Adobe Photoshop 2025/Presets/Scripts/

※Photoshopのバージョンが古い場合は2025が2024などになっています

なお、この過程は省略することも可能です。

④Photoshopでスクリプトを実行する

Photoshopで、先程、保存したスクリプトを実行します。

なお、スクリプトを追加した場合は、Photoshopを終了して、再度立ち上げる必要があります。

メニューバーから、

ファイル > スクリプト > 保存したファイル名

を選択します。

※今回は、multiply.jsxtというファイル名で保存したので、multiplyと表示されています。

Photoshop|ファイル > スクリプト

画像を保存するフォルダを指定して実行すると、次々に画像が作成されました。

Photoshop|画像の保存

にゃテックにゃテック

約1分で、数十枚の画像が作成できたにゃ。

Adobeソフトの基本操作を安く学べるオンラインスクール

なお、オンラインスクールのアドバンススクールでは、Photoshop、Illustrator、Dreamweaver、Premiere Pro、After Effects、InDesignなどが動画で学べて、Adobe Creative Cloudの1年間プランを68,800円 (税込)で利用することができます。

にゃのらいとにゃのらいと

何故、こんなに安いにゃ?

それは、オンラインスクールに入学するため、学生・教員個人版のプランが適用されるためです。

その為、法人の申し込みはNGですが、個人であれば申し込み可能です。

にゃのらいとにゃのらいと

商用利用はできるのかにゃ?

Adobeに問い合わせて確認したところ、個人であれば商用利用は可能とのことでした。

Adobe Creative Cloudを安く使いたい方、Adobeソフトの基本的な使い方を学びたい(復習したい)方など、この機会に申し込まれてみてはどうでしょうか?

なお、講座の受講期間は6ヶ月です。