お世話になります。
現在Win7にてInDesign CS5.5 を使用しております。
「GetTrackchange」というスクリプトを
adobeの公式スクリプティングガイドから見つけ出しました。
このガイドの212ページ目のスクリプトです。
そのページの指示通り、
アーカイブからダウンロードした完全版スクリプトは、
最下部の通りです。
このガイドによると下記のスクリプトにより、
「トラックされた変更点に順次移動できる」ということです。
さっそくこのスクリプトを実行すると、
新らしくInDesignドキュメントが作成され、
「This is a story.」の文字が入ったボックスが作成されます。
何度実行してもこの操作が繰り返され、
「既存のドキュメント内で、順次変更点に飛ぶこと」ができません。
確かに記述でそのように書かれていそうですが、
その部分を消去したり、真ん中のnextItem関連のブロックだけ残して実行しても、うまくいきません。
adobeの窓口にも問い合わせましたが、
スクリプト開発がアメリカのためらしく、
有力な情報はいただけませんでした。
Java scriptについては初心者でして、
ここで質問させていただくことにずっと躊躇しておりました。
しかしadobeの公式スクリプティングガイドのスクリプトであること、
Web情報を一定期間念入りに調べてもまったく情報が得られないこと、
adobeへの問い合わせでも有力情報が得られなかったこと、
以上を踏まえましても、解決にいたらなかったため、
恐縮ながら、こちらで質問させていただくことにいたしました。
私が希望する動作が可能なようでしたら、
皆さんのお力をお貸しいただけると嬉しいです。
※2行目にInCopyの記述がありますが、
InDesign上のアーカイブからダウンロードしております。
_________________________
実際のスクリプト
//GetTrackchange.jsx
//An InCopy CS5 JavaScript
//
//Shows how to get Track change from doc.
main();
function main(){
mySetup();
mySnippet();
myTeardown();
}
function mySetup(){
}
function mySnippet(){
var myDocument = app.documents.add();
var myTextFrame = myDocument.textFrames.add({geometricBounds: [0, 0, 12, 12], contents: "This is a story."});
myGetChangeFromDoc();
}
function myTeardown(){
}
function myGetChangeFromDoc()
{
//<fragment>
var myDocument = app.documents.item(0);
var myStory = myDocument.stories.item(0);
//Story.trackChanges If true, track changes is turned on.
if(myStory.trackChanges==true)
{
var myChangeCount = myStory.changes.length;
var myChange = myStory.changes.item(0);
if(myChangeCount>1)
{
var myChange0 = myStory.changes.nextItem(myChange);
}
}
//</fragment>
}
function myGetChangeFromDoc1()
{
var myDocument = app.documents.item(0);
var myStory = myDocument.stories.item(0);
//Story.trackChanges If true, track changes is turned on.
if(myStory.trackChanges==true)
{
var myChangeCount = myStory.changes.length;
var myChange = myStory.changes.lastItem();
if(myChangeCount>1)
{
var myChange0 = myStory.changes.previousItem(myChange);
}
}
}
_____________________________
なにとぞ、よろしくお願いいたします。