我正在使用一个用AppleScript公开可编写脚本的界面的应用程序。我需要从Excel宏调用此AppleScript脚本。该脚本应从电子表格中读取信息,将其传递给应用程序,并根据结果更新电子表格。当我自己运行AppleScript时它工作正常,但是当从宏调用时,宏执行挂起。下面的例子说明了我遇到的问题:
VBA Macro:
Sub Test()
OSA = "/usr/bin/osascript"
SCRIPT = "/tmp/TestScript.scpt"
MacScript ("do shell script " & Chr(34) & OSA & " " & SCRIPT & Chr(34))
End Sub
TestScript.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。
知道如何完成这项工作吗?
答案 0 :(得分:0)
该错误表明VBA语法存在问题,当然双引号存在问题。 但是,我不会运行AppleScript来运行shell脚本来运行AppleScript。步骤太多了。只需从macscript行运行脚本:
macscript("run script file ""Macintosh HD:Users:private:tmp:TestScript.scpt""")