Last active
June 6, 2024 01:05
-
-
Save monokano/1c7123e26e878268b4e14306c56b9789 to your computer and use it in GitHub Desktop.
Illustratorドキュメントの同一リンクファイルを一括で再リンクするスクリプト
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Illustratorドキュメントの同一リンクファイルを一括で再リンクする | |
//処理対象 | |
//ドキュメント内で選択されているリンク | |
//重要:選択されていなくても、選択箇所と同一ファイルにリンクしていたら処理対象 | |
//注意点 | |
//ドキュメント内のリンク選択はダイレクト選択ツールで選択すること | |
//編集モードで実行しないように。処理が完了しなくなってしまう | |
//使い方 | |
//1. ドキュメント内でリンク箇所を選択する(複数可) | |
//2. このスクリプトを実行 | |
//3. ファイル選択ダイアログが表示されるので再リンクするファイルを選択する | |
//4. 完了 | |
// アクティブなドキュメントを取得 | |
var doc = app.activeDocument; | |
// すべてのリンクを取得 | |
var links = doc.placedItems; | |
// リンクを置き換える関数 | |
function relinkToNewPath(item, newPath) { | |
if (item.typename === "PlacedItem") { | |
item.file = new File(newPath); | |
} | |
} | |
// 選択されたアイテムをチェック | |
if (app.selection.length > 0) { | |
var selectedItems = app.selection; | |
var targetFiles = []; | |
// 選択されたアイテムのリンクを収集 | |
for (var i = 0; i < selectedItems.length; i++) { | |
if (selectedItems[i].typename === "PlacedItem") { | |
targetFiles.push(selectedItems[i].file); | |
} | |
} | |
// 選択された中にリンクがない場合はアラートを表示して終了 | |
if (targetFiles.length === 0) { | |
alert("選択された中にリンクがありません。リンクを選択してください。"); | |
} else { | |
// 新しいリンク先ファイルのパスを選択するダイアログを表示 | |
var newLinkFile = File.openDialog("新しいリンク先ファイルを選択してください"); | |
// 選択されたファイルが有効か確認 | |
if (newLinkFile) { | |
var newLinkPath = newLinkFile.fsName; // ファイルパスを取得 | |
// 同一リンクファイルを使用しているリンクも含めて置き換え | |
for (var j = 0; j < links.length; j++) { | |
for (var k = 0; k < targetFiles.length; k++) { | |
if (links[j].file && links[j].file.fullName === targetFiles[k].fullName) { | |
relinkToNewPath(links[j], newLinkPath); | |
} | |
} | |
} | |
alert("リンクが新しいファイルに置き換えられました。"); | |
} else { | |
alert("新しいリンク先ファイルが選択されませんでした。"); | |
} | |
} | |
} else { | |
alert("選択されたアイテムがありません。リンクを選択してください。"); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
2024.6.6 埋め込み画像を除外するようにしました。