Excel VBA无法将参数传递给AppleScriptTask

问题描述 投票:2回答:1

当我切换到MacOS Mojave时,我不再能够使用宏将Excel文档作为PDF保存到特定位置。相反,我不得不将其保存到/ Library / Group Containers / UBF8T346G9.Office /⁩,然后通过调用存储在/ Library / Application Scripts / com.microsoft.Excel / 。这已经工作了几个月,但是使用此宏/脚本组合的人突然之间无法做到这一点,即使没有其他用户遇到问题,有些用户具有相同的Excel和MacOS组合(16.29和10.14.6分别)。

当她尝试运行宏时,它会在调用此脚本的行上专门抛出无效的过程调用或参数(错误5)

。宏的开头还有另一个脚本,该脚本不带参数,并且运行良好。我使用MsgBox来查看将什么字符串传递给AppleScriptTask,然后使用“脚本编辑器”将其插入脚本,然后运行它而没有问题。

这里是AppleScript:

 ExistsFile(sPath)

 on ExistsFile(sPath)

      set sPath to sPath as POSIX file
      tell application "Finder" to set sPath to file sPath
      set dest to (path to desktop)
      move sPath to dest without replacing

 end ExistsFile

这里是来自宏的调用:

 result = AppleScriptTask("moveToDesktop.scpt", "ExistsFile", sPath & strJobNumber & " Cover Page.pdf")

根据我在其他论坛上看到的内容,我尝试了以下操作:

  • 将文件名设置为变量并将其传递给AppleScriptTask
  • 删除脚本中的扩展名,删除文件夹中的扩展名,以及这两者的组合

当我切换到MacOS Mojave时,我不再能够使用宏将Excel文档作为PDF保存到特定位置。相反,我不得不将其保存到/ Library / Group Containers / UBF8T346G9 ....

excel vba macos applescript applescript-excel
1个回答
0
投票

如果只为一个用户运行,听起来可能是权限错误。此page具有运行AppleScriptTask命令的所有要求。可能的解决方案是使用终端上的chmod命令为脚本启用正确的权限。这将为root用户和当前用户提供权限。如果这不起作用,请仔细检查用户系统上是否满足所有要求。

© www.soinside.com 2019 - 2024. All rights reserved.