Photoshopで複数の画像を一括で1つのドキュメントにレイヤーとして読み込むスクリプトを紹介します。
複数の画像を手動で開く手間を省き、作業を効率化できます。
目次
スクリプトのメリット
- 選択した画像を一括で1つのドキュメントにレイヤー化
- フォルダ内の画像もまとめて読み込める
- Photoshop上での整理作業を効率化

選択したファイル・フォルダを1つのドキュメントにレイヤー化する方法
STEP.1 スクリプトをダウンロード・格納
- 下記のコードをメモ帳などに貼り付けて保存(ファイル用とフォルダ用の2種類あります)
Photoshopのほかの操作は、まとめから確認できます。
あわせて読みたい


Photoshopの使い方まとめ|レイヤー操作・書き出し・スクリプト
Photoshopの記事を、やりたいことから探せるように分類しました。 同じ作業を何度も繰り返している場合は、スクリプトの項目もご覧ください。 各カテゴリーは閲覧数の多…
CGM_SelectFilesImportLayers.jsx
app.bringToFront();
main();
function main() {
var fileObj = new File();
var fileArray = fileObj.openDlg('ファイルを選択してください:', '', true);
//新規ドキュメント
var newDoc = documents.add(512, 512, 72, 'test', NewDocumentMode.RGB, DocumentFill.TRANSPARENT, 1);
for (var i = 0; i < fileArray.length; i++) {
var doc = open(fileArray[i]);
//モードをRGBに
doc.changeMode(ChangeMode.RGB);
//新しくドキュメントに読み込み
doc.artLayers.add();
//レイヤーを統合(透明のレイヤーと統合するので影響なし)
doc.mergeVisibleLayers();
//読み込んだファイル名を取得
var name = doc.name;
var layer = doc.activeLayer;
//レイヤー名をドキュメント名に
layer.name = name;
//始めに作った新規ドキュメントへ複製コピー
layer.duplicate(newDoc, ElementPlacement.PLACEATBEGINNING);
//読み込んだドキュメントを閉じる
doc.close(SaveOptions.DONOTSAVECHANGES);
}
//一番下のレイヤーの削除
var layObj = activeDocument.artLayers;
var bgLayer = layObj[layObj.length - 1];
bgLayer.remove();
//すべての領域を表示
activeDocument.revealAll();
//透明部分のトリミング
activeDocument.trim(TrimType.TRANSPARENT, true, true, true, true);
}CGM_SelectFolderImportLayers.jsx
app.bringToFront();
main();
function main() {
var folderObj = new Object();
var sourceFolder = Folder.selectDialog('フォルダを選択してください:', Folder(folderObj));
//新規ドキュメント
var newDoc = documents.add(512, 512, 72, 'test', NewDocumentMode.RGB, DocumentFill.TRANSPARENT, 1);
//フォルダ内のファイル取得
var fileArray = new Array();
var docs = sourceFolder.getFiles();
var len = docs.length;
for (var i = 0; i < len; i++) {
var doc = docs[i];
fileArray.push(doc);
}
for (var i = 0; i < fileArray.length; i++) {
var doc = open(fileArray[i]);
//モードをRGBに
doc.changeMode(ChangeMode.RGB);
//新しくドキュメントに読み込み
doc.artLayers.add();
//レイヤーを統合(透明のレイヤーと統合するので影響なし)
doc.mergeVisibleLayers();
//読み込んだファイル名を取得
var name = doc.name;
var layer = doc.activeLayer;
//レイヤー名をドキュメント名に
layer.name = name;
//始めに作った新規ドキュメントへ複製コピー
layer.duplicate(newDoc, ElementPlacement.PLACEATBEGINNING);
//読み込んだドキュメントを閉じる
doc.close(SaveOptions.DONOTSAVECHANGES);
}
//一番下のレイヤーの削除
var layObj = activeDocument.artLayers;
var bgLayer = layObj[layObj.length - 1];
bgLayer.remove();
//すべての領域を表示
activeDocument.revealAll();
//透明部分のトリミング
activeDocument.trim(TrimType.TRANSPARENT, true, true, true, true);
}CGM_SelectFilesImportLayers.jsxCGM_SelectFolderImportLayers.jsxを以下のフォルダに保存します。
C:\Program Files\Adobe\Adobe Photoshop CC\Presets\Scripts\- Photoshopを再起動します。
STEP.2 スクリプトを実行
- [ファイル] → [スクリプト] → [CGM_SelectFilesImportLayers]を選択します。
- ファイル選択ダイアログで対象の画像を選択します。
- 選択したすべての画像が1つのドキュメント内にレイヤーとして読み込まれます。
読み込みと書き出しに関する記事は、ほかにもあります。
あわせて読みたい


Photoshopスクリプト(jsx)│フォルダー内のPSDファイルからJPG/PNGを一括出力する方法
Photoshopで選択したフォルダー内のPSDファイルをJPGまたはPNGへ一括変換するスクリプトを紹介します。 手作業で1ファイルずつ開いて保存する手間を省き、見本画像など…
あわせて読みたい


Photoshopスクリプト(jsx)│複数ページのPDFをレイヤーとして読み込む方法
Adobe XDや他のデザインツールで作成したPDFをPhotoshopに取り込む際、各ページをレイヤーとして読み込みたい場面があります。 この記事では、スクリプトを使って複数ペ…
あわせて読みたい


Photoshopスクリプト(jsx)│選択したPSDを画像アセットで書き出す方法
Photoshopの画像アセット機能を使うと、指定したレイヤーやドキュメントからPNGやJPG画像を自動で書き出せます。 ただし、スクリプトで自動処理する際は、Generatorのバ…
あわせて読みたい


Photoshopスクリプト(jsx)│ベース画像はそのままに要素を切り替えて画像書き出しする
Photoshopでベース画像を保持したまま、特定の要素だけを切り替えて画像を書き出す方法を紹介します。 アイコンのバリエーション展開やUIパーツの書き出しなどに役立ち…
まとめ
- 選択したファイルを一括で1つのドキュメントにレイヤー化可能
- フォルダ内の画像もまとめて読み込める
- 配置作業にかかる手間を削減
Photoshopで複数の画像を効率的にレイヤー化し、作業時間を短縮できます。
