終了

javascriptでリンクされたストーリーからソースのストーリーを取得する

積極的な参加者 ,
Dec 29, 2021 Dec 29, 2021

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

コピー完了

javascriptでリンクされたストーリーからソースのストーリーを取得するには

どの様にすれば良いのでしょう?

 

linkオブジェクトのgoToSource()メソッドではレイアウトのソースを選択してしまいますので

それ以外の方法でソースのストーリーを取得出来れば思っています。

 

linkResourceURIプロパティには「idinternalcontent:数値」の値があり

IDMLでソースのストーリーをみるとLinkResourceId属性の値としてとしてidinternalcontentの数値がありますが、ExtendScriptにはそういったプロパティは無いような・・・

 

goToSource()メソッド以外には方法は無いのでしょうか・・・

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

表示

560

翻訳

翻訳

レポート

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

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

コピー完了

ごめんなさい、意味を理解できていないのですが、parentプロパティがStoryオブジェクトになるんですが、それではないということでしょうか。

投票

翻訳

翻訳

レポート

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

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

コピー完了

テキストフレームをコンテナ配置ツールで収集した後、リンク作成を選択して配置したとして

リンクして配置されたテキストフレーム(鎖のマークがついている方)からソースのストーリーを変更したいのです。

 

リンクして配置されたテキストフレームを選択して

app.activeDocument.selection[0].parentStory.itemLink.parent.contents = "";

とすると

ソースではなくリンクして配置されたテキストフレームの内容が変更されてしまいます。

投票

翻訳

翻訳

レポート

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

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

コピー完了

調べてみましたがgoToSource()メソッド以外なさそうな感じですね。

app.selection[0].parentStory.itemLink.goToSource();
app.selection[0].parentStory.contents = "bbb";

こんな感じで、goToSourceで選択されたテキストフレームから入っていくので気持ち悪いですが。

投票

翻訳

翻訳

レポート

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

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

コピー完了

goToSource()メソッドしか方法が無いのですね。

有難うございました。

投票

翻訳

翻訳

レポート

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

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

コピー完了

InDesign Scripting SDKの
Working with Linked Storiesに

 

Frequently asked questions

How can I tell whether a given link is a link for a linked story?
Use Link.filePath. If it is empty, then it is a link for a linked story.

 

Given a link for linked story, how can I get its link source?
Use this to select the link source:
Link.editoriginal();

 

Then use this to find the active selection, which is the link source:
Application.selection();

 

とあるのですが、上手くいきません。

SDKの間違いでしょうか

投票

翻訳

翻訳

レポート

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

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

コピー完了

確かに書いてありますね。

メソッド名が間違っていて,実際には

Link.editOriginal();

だと思います。

 

Linkオブジェクトのメソッドを洗ってみてください。

Scripting SDKに限らず,Adobeの公式ドキュメントはこうしたタイポがけっこう多い印象です。

オブジェクトのメソッドを確認したいときは,Object.reflect.methodsとすれば配列で取得することができますよ(Objectのところを任意のオブジェクトにしてください)。

Yusuke S.

投票

翻訳

翻訳

レポート

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

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

コピー完了

editOriginal()を使ってみてもundefinedが帰ってくるので

SDKに誤りがあるのかもしれません。

 

オブジェクトのメソッドを確認したいときは,Object.reflect.methods

 

参考になりました。有難うございます。

alert(reflect.reflect.methods);

とすると

find,toXML

と表示されますが、toXMLの方の使い方が判りません。

どなたかご存知ではありませんでしょうか

 

投票

翻訳

翻訳

レポート

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

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

コピー完了

alert(reflect.methods);

とすると中に

beepというのが、音を鳴らす事も出来たのですね

投票

翻訳

翻訳

レポート

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

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

コピー完了

最新

toXMLメソッドですがExtendScriptToolkitのオブジェクトビューアにありました。

Returns this class information as XML in OMV format.

との事です。

投票

翻訳

翻訳

レポート

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