访问通过Javascript添加的段落

时间:2015-03-27 11:16:48

标签: adobe-indesign extendscript

我有一个段落,在此段落之后,我想添加另一段。我正在使用myPara.contents += "\r"这样做。我需要第二段与原始段落不同。他们的问题是我似乎无法访问这个新段落来设计它。

据我所知,这个新段落是作为第一段的一个子段添加的。 myPara.paragraphs.count()返回2。尝试通过myPara.paragraphs[1]访问它会导致错误。使用myPara.paragraphs[-1]myPara.paragraphs.lastItem()只会返回原始段落。

如何获得对新段落的对象引用?

3 个答案:

答案 0 :(得分:1)

当你设置 - myPara.contents + =“\ r”时,你可能会实际创建两个段落对象。你得到... count()返回2对我来说没有多大意义,但是这里很明显的是myPara.paragraphs将返回父段落的所有段落对象,即myPara。

如果您想索引并使用此处的段落,则必须定位的父级是Story对象。

我猜myPara.parentStory.paragraphs.length将返回2和myPara.parentStory.paragraphs [0]第一段,而myPara.parentStory.paragraphs [-1]则是故事的最后一段。

答案 1 :(得分:1)

鉴于对InDesign中的段落的引用,要为其添加段落,您应该执行以下操作:

myPara.insertionPoints[-1].contents = "\r";

然后要获得对该段落的引用,您可以这样做:

myNewPara = myPara.insertionPoints[-1].paragraphs[0];

答案 2 :(得分:0)

在我看来,在添加新段落后,您必须刷新对象。

我创建了一个带有文本的框#34;你好"在新文件上。

var mypara = app.activeDocument.pages[0].pageItems[0].paragraphs[0]
mypara.contents //hello
mypara.contents+='\rWorld'

然后我可以使用这个

mypara.parent.paragraphs[0].contents //hello
mypara.parent.paragraphs[1].contents //World

或者

var mypara = app.activeDocument.pages[0].pageItems[0].paragraphs
mypara[0].contents
mypaar[1].contents

谢谢, 阿都