リンクをクリップボードにコピー
コピー完了
お世話になります。
スクリプトについての質問です。
一つのドキュメントでアートボードを複数管理しているとします。
各アートボードにそれぞれ一つリンク画像が配置されている状態です。
リンク画像を全て選択して、それぞれの画像に対するアートボード名を取得したいです。(伝わりにくくてすみません)
selection[0].artboardとかもなさそうだったので、そもそも出来ないことなのでしょうか?取得の仕方が分かる方がいらっしゃったら教えていただきたいです。
よろしくお願い致します。
リンクをクリップボードにコピー
コピー完了
う〜ん、中身から見ていくのは手が無いように思います。逆なら出来ますが…
以下のように各アートボードをアクティブにした上でアートボード上のオブジェクトをすべて選択すればアートボードとオブジェクトの対比を得ることは可能ですね。
app.activeDocument.artboards.setActiveArtboardIndex(1);
app.executeMenuCommand("selectallinartboard");
リンクをクリップボードにコピー
コピー完了
うーんw スクリプト側でリンクを1つずつ選択してみても、クリックじゃないとコンテナアートボードがアクティブにならないんですねこれ。(ただの感想です…)
リンクをクリップボードにコピー
コピー完了
ありがとうございます。
最終的に、配置している画像の名前をアートボードの名前にするというスクリプトを作りたくて、このような質問をしました。
教えて頂いたものを基にして作ってみたら出来たっぽい(?)ので、よかったです。。
ありがとうございます。
var artboard = app.activeDocument.artboards ; //アートボード配列
for (i = 0; i<artboard.length; i++) {
artboard.setActiveArtboardIndex(i); //アートボードをアクティブにする
app.executeMenuCommand("selectallinartboard"); //アクティブアートボードのオブジェクトを選択
selName = app.activeDocument.selection[0].file.name; //選択した画像の名前
result = selName.indexOf("."); //拡張子前のドットの位置
ainame = selName.substr(0, result); //画像のファイル名(拡張子を消したもの)
str = app.activeDocument.artboards.getActiveArtboardIndex(); //アクティブなアートボードのインデックス番号
app.activeDocument.artboards[str].name = ainame ; //アクティブアートボードを選択画像の名前にする
}