終了

【Javascript】選択オブジェクトが存在するアートボードの名前を取得したい

積極的な参加者 ,
Nov 09, 2022 Nov 09, 2022

リンクをクリップボードにコピー

コピー完了

お世話になります。

スクリプトについての質問です。

 

一つのドキュメントでアートボードを複数管理しているとします。

各アートボードにそれぞれ一つリンク画像が配置されている状態です。

 

リンク画像を全て選択して、それぞれの画像に対するアートボード名を取得したいです。(伝わりにくくてすみません)

 

selection[0].artboardとかもなさそうだったので、そもそも出来ないことなのでしょうか?取得の仕方が分かる方がいらっしゃったら教えていただきたいです。

 

よろしくお願い致します。

 

キーワード
スクリプティング

表示

668

翻訳

翻訳

レポート

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

correct answers 1 件の正解

Community Expert , Nov 09, 2022 Nov 09, 2022


う〜ん、中身から見ていくのは手が無いように思います。逆なら出来ますが…
以下のように各アートボードをアクティブにした上でアートボード上のオブジェクトをすべて選択すればアートボードとオブジェクトの対比を得ることは可能ですね。

app.activeDocument.artboards.setActiveArtboardIndex(1);
app.executeMenuCommand("selectallinartboard");

投票

翻訳

翻訳
Community Expert ,
Nov 09, 2022 Nov 09, 2022

リンクをクリップボードにコピー

コピー完了


う〜ん、中身から見ていくのは手が無いように思います。逆なら出来ますが…
以下のように各アートボードをアクティブにした上でアートボード上のオブジェクトをすべて選択すればアートボードとオブジェクトの対比を得ることは可能ですね。

app.activeDocument.artboards.setActiveArtboardIndex(1);
app.executeMenuCommand("selectallinartboard");

投票

翻訳

翻訳

レポート

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

リンクをクリップボードにコピー

コピー完了

うーんw スクリプト側でリンクを1つずつ選択してみても、クリックじゃないとコンテナアートボードがアクティブにならないんですねこれ。(ただの感想です…)

投票

翻訳

翻訳

レポート

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

リンクをクリップボードにコピー

コピー完了

最新

ありがとうございます。

 

最終的に、配置している画像の名前をアートボードの名前にするというスクリプトを作りたくて、このような質問をしました。

教えて頂いたものを基にして作ってみたら出来たっぽい(?)ので、よかったです。。

ありがとうございます。

 

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 ; //アクティブアートボードを選択画像の名前にする
}

 

投票

翻訳

翻訳

レポート

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