Applescript 如何在apple脚本中将脚本对象作为参数传递

Applescript 如何在apple脚本中将脚本对象作为参数传递,applescript,Applescript,它显示以下错误 错误 “WordShortcutKeys”不理解“SaveSyncDocument”消息。“WordShortcutKeys”中的数字-1708从技术上讲,当您在AppleScript中编写此结构时: script WordShortcutKeys on OpenDocument() tell application "Microsoft Word" to activate tell application "System Events"

它显示以下错误 错误


“WordShortcutKeys”不理解“SaveSyncDocument”消息。“WordShortcutKeys”中的数字-1708从技术上讲,当您在AppleScript中编写此结构时:

script WordShortcutKeys
    on OpenDocument()
        tell application "Microsoft Word" to activate
        tell application "System Events"
            keystroke "o" using {control down, command down}
        end tell
    end OpenDocument
    on SaveSyncDocument()
        tell application "Microsoft Word" to activate
        tell application "System Events"
            keystroke "s" using {control down, command down}
        end tell
    end SaveSyncDocument
end script
set application_name to  "Word" & "ShortcutKeys"
application_name's SaveSyncDocument()
您没有将脚本对象命名为“some_script_id”。实际上,您正在为后面的脚本对象设置一个名为
some\u script\u id
的变量
scriptsomescript\u id
实际上等同于
将somescript\u id设置为[…]
。AppleScript没有按名称间接引用变量的语法,因此无法执行从第二行到最后一行的操作。您可以(当然)将一个变量设置为另一个变量,例如:

script some_script_id
    [...]
end script
…但除此之外,这是AppleScript的一个限制

另外(据说),除非别无选择,否则不要使用GUI脚本。Word具有用于打开和保存文件的内置命令。使用这些内置命令比编写GUI脚本要高效、灵活和可靠得多;在脚本编辑器中查看Word的脚本字典,您将看到它们

set application_name to  WordShortcutKeys
application_name's SaveSyncDocument()