終了

複数のSVGファイルをレイヤーとして読み込みたい(まとめたい)

Community Expert ,
Mar 11, 2025 Mar 11, 2025

こんにちは。
連番名の複数SVGファイルを各レイヤーとして一つのAIファイルとしてまとめたいと思っています。
Adobe Photoshopではファイル→スクリプト→ファイルをレイヤーとして読み込みで可能です。

しかし、Photoshopでは、ベクターデータとしての編集が不便なので、できればIllustratorで同様のことができればいいと思っています。
数ファイルならコピペで対応可能ですが、数十ファイルとなると手間なのでスクリプトなどがあれば無料、有料含めて教えていただきたいです。
よろしくお願いします。

 

参考にした記事

https://community.adobe.com/t5/illustrator%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A9%E3%83%A0-discussions/...

 

macOS 15.3.1

illustrator 29.3.1

 

キーワード
スクリプティング , 手順・操作方法 , 読み込みと書き出し
349
翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines

correct answers 1 件の正解

Community Expert , Mar 11, 2025 Mar 11, 2025

エモくない内容(フィルタリングやエラー処理をしないもの)でよければささっと書いちゃうか、と思って

ちょっと書いてみたんですが、

document.placedItems.add(svgファイル) だとドキュメント上に実体が出てきませんね…

1つずつ開いてコピペ、をループでやる形しかないのかな。

var doc = app.activeDocument;
var svgs = File.openDialog("svgファイルを選択しなければ", true, true);

for(var i = 0; i < svgs.length; i++){
    var newLayer = doc.layers.add();
    doc.activeLayer = newLayer;
    app.open(svgs[i]);
    app.executeMenuCommand("unlockAll");
    app.executeMenuCommand("selectall");
    app.executeMenuCommand("copy");
    app.active
...
翻訳
Community Expert ,
Mar 11, 2025 Mar 11, 2025

エモくない内容(フィルタリングやエラー処理をしないもの)でよければささっと書いちゃうか、と思って

ちょっと書いてみたんですが、

document.placedItems.add(svgファイル) だとドキュメント上に実体が出てきませんね…

1つずつ開いてコピペ、をループでやる形しかないのかな。

var doc = app.activeDocument;
var svgs = File.openDialog("svgファイルを選択しなければ", true, true);

for(var i = 0; i < svgs.length; i++){
    var newLayer = doc.layers.add();
    doc.activeLayer = newLayer;
    app.open(svgs[i]);
    app.executeMenuCommand("unlockAll");
    app.executeMenuCommand("selectall");
    app.executeMenuCommand("copy");
    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
    app.executeMenuCommand("paste");
    app.executeMenuCommand("deselectall");
}

 

既存の開かれたドキュメントがある状態で実行、

ファイル選択ダイアログが出るので複数のファイルを選択(フィルタリングしていません)

ループ{

 レイヤーを1つ追加してアクティブに

 選択された i  個めのファイルを開く、すべてを選択、コピー、保存せず閉じる

 (元のドキュメント上に)ペースト、選択を解除

 

という内容です。既存ドキュメントありきなので新規ドキュメントの場合は最初からある「レイヤー 1」が出番なしとなります。

 

こまかい要望があれば追記してみてください。

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Mar 12, 2025 Mar 12, 2025

ajabon grinsmithさん
ご返信ありがとうございます。
スクリプトもお書きいただきありがとうございます。現状,
スクリプトでも難しい旨わかりました。
スクリプト初心者ゆえくわしいプログラム内容はわかりませんが、コピペの動作を自動化してくれるスクリプトのようですね。
スクリプトの拡張子を.jsxにしてイラレに読み込んだのですが、私の環境では構文エラーが出てしまいました。
なにか原因があるのでしょうか?
スクリプト初心者ゆえご教授いただけますと幸いです。

 

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Mar 12, 2025 Mar 12, 2025

あっ、動画のほうでわかりました。

エディタにルーラー(定規)がついていることから、現状リッチテキストフォーマットになっているようです。

テキストエディット.app メニュー「フォーマット」から「標準テキストにする」してからペースト&保存してみてください。

標準テキストはプレーンテキストとも呼ばれ、スクリプトファイルはこちらで保存しないと動きませんです。

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Mar 12, 2025 Mar 12, 2025

ありがとうございます。ご指摘通りプレーンテキストにしてから拡張子をJSXに変更したところ無事スクリプトが起動しました。
以前はCharacter AnimetorでSVGのシーケンスファイルが直接読み込めていたのですが、V24以降読み込めなくなって困っておりました。こちらのスクリプト活用させていただきます。
私もスクリプト勉強します。大変助かりました。

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Mar 12, 2025 Mar 12, 2025

SVGの配置は処理が特殊でSVGを認識したらページオブジェクトに落とす処理がかかります。スクリプトからはこの処理を通せなくて弾かれます。
おそらくアクション経由なら大丈夫なのでSVG読み込むところだけアクションコードを噛ませる形でスクリプトを書くことは出来ると思います。

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Mar 12, 2025 Mar 12, 2025

Ten Aさん
アドバイスありがとうございます。ajabon grinsmith氏が書いてくださったスクリプトで希望の処理が行えました。
1)事前にイラレ形式で読み込んだ01番のSVGを保存する必要がある
2)SVGファイルを全部イラレで開いておく必要がある
等、準備がありますが、時短の目的は達せられました。

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Mar 13, 2025 Mar 13, 2025
最新

あ、ご満足のところ蒸し返してすみません

 

> 1)事前にイラレ形式で読み込んだ01番のSVGを保存する必要がある
> 2)SVGファイルを全部イラレで開いておく必要がある

 

手元に手頃なSVGファイルがなかったため、手前味噌でIllustratorで作成・保存したSVGファイルを相手に動作確認をしたのですが、よそでできたSVGでは「ダイアログ上でファイル選択」の流れでは動作しないということでしょうか?

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines