AppleScript保存活动的Microsoft Word文档IFF就有一个


0

我用这个键盘大师自动保存在Microsoft Word中最前方的文档时的Word停用:

tell application "Microsoft Word"
    if it is running then
        save active document
    end if
end tell

这个伟大的工程,除非没有活动文档,在这种情况下,它抛出一个错误。

我知道我可以忽略这个错误,但我不愿意。

我想知道是否有适当的AppleScript方式来说“如果存在活动文档,那么保存它”。

我试过谷歌搜索,但只找到了这个(我现在拥有的)。

Answers:


1

您需要查询Word以获取document对象的数量- active document这只是该列表中最前面的一个方便快捷方式。不幸的是,当有没有打开的文档时,Word的某种特殊的AppleScript实现不会返回空的列表对象,而是missing value(AppleScript的用法nil)。考虑到这一点,以下函数查询Word以查看打开的文档:

on hasDocument()
  tell application "Microsoft Word"
    every document is not missing value
  end tell
end

- 把它放在你的脚本前面,并改变你的条件if it is running and my hasDocument(),你应该没事。


真棒!谢谢!我已经更新了gist.github.com/tjluoma/ca9bcbe0d905a759442f
TJ Luoma
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.