选择所有文本框并在InDesign(Javascript)的所有奇数页中向右对齐

选择所有文本框并在InDesign(Javascript)的所有奇数页中向右对齐,javascript,adobe-indesign,extendscript,Javascript,Adobe Indesign,Extendscript,我想选择所有文本框,然后在InDesign中仅使用Javascript将其内容与文档中所有奇数页的页面右侧对齐 这是我到目前为止的进展,我知道我可以确定奇数,但仍然无法选择页面,因此选择文本框也没有进展 main(); function main() { var myDocument = app.documents.item(0); var myPage = myDocument.pages.item(0); var i = 0; for (i = 1; i < myDo

我想选择所有文本框,然后在InDesign中仅使用Javascript将其内容与文档中所有奇数页的页面右侧对齐

这是我到目前为止的进展,我知道我可以确定奇数,但仍然无法选择页面,因此选择文本框也没有进展

main();
function main() {
  var myDocument = app.documents.item(0);
  var myPage = myDocument.pages.item(0);
  var i = 0;

  for (i = 1; i < myDocument.pages.count(); i = i + 2) {
    \\  select  the page, then find all text frames in that page,  then align right
  }
}
main();
函数main(){
var myDocument=app.documents.item(0);
var myPage=myDocument.pages.item(0);
var i=0;
对于(i=1;i

感谢您的帮助。谢谢。

这里有一个最简单的解决方案:

var pages = app.activeDocument.pages;

for (var i = 1; i < pages.length; i = i + 2) {
    app.select(pages[i].textFrames);
    try {
        app.menuActions.item("$ID/Horizontal Page Align Left").invoke()
    } catch(e) {}
}
var pages=app.activeDocument.pages;
对于(变量i=1;i
它依赖于选择对象并调用菜单操作。有时这不是最好的主意(这就是为什么
try/catch
)。解决方案可能更复杂、更稳健。这取决于您的限制和其他细节

更新


我不知道你需要对齐框架的内容,而不是框架。可以这样做,但链接和非链接文本框的解决方案不同。除非一个段落属于两个相邻的页面。

要获取页面上的所有框架,请执行以下操作:

var myFrames = myDocument.pages[i].textFrames;
然后您可以循环浏览框架及其段落并应用(使用不同的计数器变量,例如“c”和“b”)

您也可以尝试everyItem()


文本框是否链接?一个段落可以从一页开始,到下一页结束吗?
myFrames[c].paragraphs[b].justification = Justification.RIGHT_ALIGN;
myDocument.pages[i].textFrames.everyItem().paragraphs.everyItem().justification = Justification.RIGHT_ALIGN;