0

适用于 Apple Numbers 的 JavaScript - 我正在尝试使用所选范围的 row.address 来逐步执行 for{} 循环,但返回的值不是兼容的整数(如果有意义的话)。电子表格打开,脚本运行时选择了几行。

var firstRow = cells[0].row.address;
var lastRow = cells[cells.length-1].row.address;
// these values seem valid, and can be inserted into the spreadsheet
cells[0].value = firstRow;
cells[1].value = lastRow;

for (i=firstRow; i<lastRow; i++) {
// this generates an error that terminates the script:
//     The action "Run JavaScript" encountered
//     an error: "Error: Error: Can't convert types."
    cells[2].value = i; // this line never runs
}

如果我在 firstRow 或 lastRow 上使用数学,我会得到相同的错误(例如,var j = lastRow+1),所以这就像“整数”值不是真正的整数值。我如何将这些值引用为整数,或者至少不会出现错误?

谢谢。

4

1 回答 1

1

我认为您必须get在地址上运行 ter。这一切都在糟糕的文档中:firstRow = cells[0].row.address();应该做的伎俩。

address是一个“ObjectSpecifier”,address()是获取此 ObjectSpecifier 指向的任何值的语法糖。您可以尝试使用 获取 JXA 中对象的属性app.properties(object),但这并不总是有效。

于 2021-09-02T09:55:23.693 回答