我正在尝试设置身高&单向表的第一行的插入,然后是所有后续行到另一组值的插入。
我在运行时收到JavaScript错误消息:
Error Number:45
Error String: Object is invalid
Engine: main
File: C:\...
Line: 49
Source: app.activeDocument.stories.everyItem().tables.everyItem().rows[x].height = ".12 in";
不确定从哪里开始? 这是我当前脚本http://pastebin.com/iUXgPZSM
的pastebin答案 0 :(得分:1)
everyItem()
方法并不总是适用于所有上下文。在这种情况下,它不起作用,因为您正在设置属性,例如。 height = ".12 in"
。首先使用getElements()
获取元素,然后遍历它们,它将起作用。
另请注意,您无法使行的高度小于文本大小。 InDesign就是不会这样做。在我提供的示例中,我使用了1 in
,因为.12 in
似乎小于默认文字大小。
最后,我看了一下你的pastebin脚本,你可以通过使用变量而不是函数链来清理它。它可能会占用更多的“垂直空间”,但最终它对其他人来说更具可读性。
var doc = app.activeDocument;
var everyStory = doc.stories.everyItem();
var everyTable = everyStory.tables.everyItem();
var allRows = everyTable.rows.everyItem().getElements();
for (var i=1, l=allRows.length; i < l; i++) {
var row = allRows[i];
row.height = "1 in";
};