我正在使用一个应用程序,该应用程序使用 AppleScript 公开一个可编写脚本的接口(interface)。我需要从 Excel 宏调用这个 AppleScript 脚本。该脚本应从电子表格中读取信息,将其传递给应用程序并根据结果更新电子表格。当我单独运行 AppleScript 时它工作正常,但是当从宏调用时,宏执行挂起。下面是一个说明我遇到的问题的例子:
VBA 宏:
Sub Test()
OSA = "/usr/bin/osascript"
SCRIPT = "/tmp/TestScript.scpt"
MacScript ("do shell script " & Chr(34) & OSA & " " & SCRIPT & Chr(34))
End Sub
测试脚本.scpt
tell application "Microsoft Excel"
tell active sheet of active workbook
set value of range "A4:C5" to {{"a", "b", "c"}, {"d", "e", "f"}}
end tell
end tell
如果我自己运行这个脚本,它可以正常工作并更新事件工作表。但是,如果我像上面那样从宏调用它,我会在从宏调用脚本的那一行收到运行时错误 5。
知道如何完成这项工作吗?
最佳答案
该错误表明 VBA 语法有问题,当然是双引号的问题。 但是,我不会运行 applescript 来运行 shell 脚本来运行 applescript。步骤太多。只需从 macscript 行运行脚本:
macscript("run script file ""Macintosh HD:Users:private:tmp:TestScript.scpt""")
关于excel - 你如何从 Excel 宏调用,一个与 Excel 电子表格交互的 applescript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25395307/