你如何从Excel宏调用一个与Excel电子表格交互的AppleScript?

时间:2014-08-20 01:11:01

标签: excel-vba applescript applescript-excel vba excel

我正在使用一个用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。

知道如何完成这项工作吗?

1 个答案:

答案 0 :(得分:0)

该错误表明VBA语法存在问题,当然双引号存在问题。 但是,我不会运行AppleScript来运行shell脚本来运行AppleScript。步骤太多了。只需从macscript行运行脚本:

macscript("run script file ""Macintosh HD:Users:private:tmp:TestScript.scpt""")