gpt4 book ai didi

macos - 如何使用 JXA 在 Numbers (iWork) 中创建一个范围

转载 作者:行者123 更新时间:2023-12-01 12:34:49 28 4
gpt4 key购买 nike

我正在使用 JXA 来自动化使用 Numbers 应用程序的流程。我需要的是选择一系列单元格以应用宽度,但 JXA 不允许我获取它们。

根据 apple documentation我只需要在数组中使用 make 或 push 创建的对象,但任何一个都可以。这是我的代码和 Automator 错误:

选项 1:

var Numbers = Application('Numbers');
Numbers.Range({name: 'A2:A20'}).make();

// -> Error: Can't make or move that element into that container

选项 2:

var Numbers = Application('Numbers');
var myRange = Numbers.Range({name: 'A2:A20'});
Numbers.documents[0].sheets[0].tables[0].ranges.push(myRange);

// -> Error: Can't create object.

选项 3:

var Numbers = Application('Numbers');
var myRange = Numbers.Range({name: 'A2:A20'});
Numbers.documents[0].sheets[0].tables[0].selectionRange = myRange;

// -> Automator close with an unexpected error

根据 AppleScript 文档(语法与 Javascript 非常不同)我可以分配表示范围的文本:

set selection range of table 1 to range "H5:K8"

但是如果我用 Javascript 做类似的事情,它就不起作用:

选项 4:

var Numbers = Application('Numbers');
Numbers.documents[0].sheets[0].tables[0].selectionRange = 'A2:A20'
// -> Error: Can't convert types.

我搜索过它,但没有找到任何对我有帮助的东西(好的引用资料是关于 AppleScript 的,少数包含 JXA 内容的引用资料是关于 Mail 的)。

感谢您的帮助(任何与文档的链接或任何尝试的想法都将不胜感激)。

最佳答案

这个 AppleScript:

tell application "Numbers"
tell table 1 of sheet 1 of document 1
set selection range to range "A2:A20"
end tell
end tell

实际上是将表格的选择范围设置为名为“A2:A20”的表格范围。

这是等效的 JavaScript:

var Numbers = Application("Numbers")
var table = Numbers.documents[0].sheets[0].tables[0]

table.selectionRange = table.ranges["A2:A20"]

关于macos - 如何使用 JXA 在 Numbers (iWork) 中创建一个范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30701351/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com