MacScript功能在Office for Mac 2016中无法正常工作!有任何想法吗?

ram*_*ora 4 excel vba mac-office excel-vba-mac

我的宏大量使用MacScript,但在最新的Office for Mac 2016预览版本中似乎都无法使用

ram*_*ora 6

不建议使用该MacScript命令,该命令用于支持Office for Mac 2011中的嵌入式Apple脚本。由于沙箱的限制,该MacScript命令无法再调用其他应用程序,例如Finder。因此,我们不鼓励使用此命令。

对于需要更改现有代码以使其不使用的情况MacScript,可以使用AppleScriptTask命令(请参见下文)。

AppleScriptTask命令执行一个AppleScript脚本。该MacScript命令类似于命令,除了它运行位于沙盒应用程序外部的AppleScript文件。调用AppleScriptTask如下:

 Dim myScriptResult as String

?myScriptResult = AppleScriptTask ("MyAppleScriptFile.applescript", "myapplescripthandler", "my parameter string") 
Run Code Online (Sandbox Code Playgroud)

哪里:

  • 所述“MyAppleScript.applescript”文件必须是在〜/库/应用程序脚本/ [束ID] /,延伸的AppleScript不是强制性的,.scpt也可以使用
  • “ myapplescripthandler”是MyAppleScript.applescript文件中脚本处理程序的名称
  • “我的参数字符串”是“ myapplescripthandler”脚本处理程序的单个输入参数。
  • 对应的AppleScript for Excel将位于〜/ Library / Application Scripts / com.microsoft.Excel /中的名为“ MyAppleScriptFile.applescript”的文件中

注意:Mac Word,Excel和PowerPoint的[bundle id]是:

  • com.microsoft.Word
  • com.microsoft.Excel
  • com.microsoft.Powerpoint

处理程序的示例如下:

on myapplescripthandler(paramString) 

    #do something with paramString 
????return "You told me " & paramString 

end myapplescripthandler
Run Code Online (Sandbox Code Playgroud)

  • 我知道这与 API 调用无关。我将 API 调用的高功能性与这些脚本的低功能性进行了比较。更糟糕的是,一些可以在 Windows 中用 VBA 完成的事情仍然需要 MacScript,因为 Mac VBA 不存在或无法正常工作。 (3认同)
  • 当相同的代码无法工作时,尤其是相同的包含 VBA 的加载项无法在两个平台上工作时,您不能说存在“功能奇偶校验”。 (3认同)