リンクをクリップボードにコピー
コピー完了
リンクをクリップボードにコピー
コピー完了
リンクをクリップボードにコピー
コピー完了
ありがとうございます。
仕様と考えてループで1Pずつ追加などで対応した方が良さそうですね。
試しにdocS.pages.itemByRange(5,0)とページレンジの逆順にしても
同じ結果でした。
> またLocationOptions.AT_ENDを使うと正順で
これは例えば2,3P[docD.pages[1,2]]が見開き(spread[1])の状況で
docS.pages.itemByRange(0,5).duplicate(LocationOptions.AT_END, docD.pages.item(1));
とすると2P(pages[1])ではなく3P(pages[2])の後ろに正順でページが追加されます。
自分もドキュメントの最後に追加されるものだと思っていたのですが、
スプレッドの最後ということなのかもしれません。
ただこの場合正順なのでAT_ENDとAFTERで処理方法が異なるのもどうかとも思うのですが。
リンクをクリップボードにコピー
コピー完了
横槍すいません
このようなテストドキュメントを用意して、
以下のコードを実行してみました。
var docS = app.documents[0];
var docD = app.documents[1];
docS.pages.itemByRange(0, 3).duplicate(LocationOptions.AFTER, docD.pages.item(1));
この結果は、おっしゃる通り複製ページ群の並びが反転しました。
次に引数を書き換えて実行しました。
var docS = app.documents[0];
var docD = app.documents[1];
docS.pages.itemByRange(0, 3).duplicate(LocationOptions.AFTER, docD.pages[-3]);
pages[-3] といった表記は複製先のページ数の増減によらず常に末尾から3つめが対象となるはずなんですが、結果は変わらずでした。
仕様としてしまっていいかは眉唾かなあという感想です。
リンクをクリップボードにコピー
コピー完了
pages[-3]は末尾から3つめのPageオブジェクトを取得するコマンドですが、それが実行されるのは1回こっきりなので結果が変わらないのは自然です。
Omachiさんの言う通り仕様と考えてよいと思います。