如何使用 JXA 创建新文档?

How to make new document with JXA?

如何新建文档并关闭?需要这个来解决 apple automation buggy insanity。我尝试的是:

var app = Application('Keynote')
var doc = app.make(new document)  // How to write this correctly?
doc.close({saving: 'no'})

AppleScript 和JavaScript 语法完全不同。你必须考虑更多 JavaScript

例如 JXA 不理解 make(new)

您必须从 class 名称(注意大写拼写)创建一个 实例,然后调用 make().
实际上不需要 var 关键字和尾随分号。

keynote = Application('Keynote')
keynote.activate()
newDocument = keynote.Document().make()

Document() 的括号内,您可以传递类似于 AppleScript 的 with properties 的参数,例如

newDocument = keynote.Document({
    documentTheme: keynote.themes["Gradient"], 
    width:1920, 
    height:1080
})

AppleScript 的多个单词属性,如 document theme 被写为一个 camelCased 单词。

关闭最前面的文件写入

keynote.documents[0].close()