首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JXA确定数字范围(iWork)

如何使用JXA确定数字范围(iWork)
EN

Stack Overflow用户
提问于 2015-06-08 04:42:34
回答 1查看 1.7K关注 0票数 3

我使用JXA来自动化使用数字应用程序的进程。我需要的是选择一个应用宽度的单元格范围,但是JXA不允许我获得它们。

根据苹果文档,我只需要在数组中使用make或push创建的对象,但是任何对象都可以工作。这是我的代码和自动程序错误:

选项1:

代码语言:javascript
复制
var Numbers = Application('Numbers');
Numbers.Range({name: 'A2:A20'}).make();

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

备选方案2:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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非常不同),我可以分配表示范围的文本:

代码语言:javascript
复制
set selection range of table 1 to range "H5:K8"

但是如果我用Javascript做了这样的事情,它就不起作用了:

备选方案4:

代码语言:javascript
复制
var Numbers = Application('Numbers');
Numbers.documents[0].sheets[0].tables[0].selectionRange = 'A2:A20'
// -> Error: Can't convert types.

我已经搜索过它,但是我没有发现任何对我有帮助的东西(好的参考资料是关于AppleScript的,少数包含关于JXA的引用是关于邮件的)。

感谢您的帮助(任何与文档或ides的链接将不胜感激)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-12 00:02:24

这个AppleScript:

代码语言:javascript
复制
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:

代码语言:javascript
复制
var Numbers = Application("Numbers")
var table = Numbers.documents[0].sheets[0].tables[0]

table.selectionRange = table.ranges["A2:A20"]
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30701351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档