AppleScript Tell应用程序Microsoft Excel使用Parallels打开Mac上的Windows Excel?

我正在尝试使用AppleScript来操作运行OSX Mavericks的Macbook Air上的Mac Excel 2011文件。 我还安装了Windows 8.1和Windows Excel 2013的Parallels。

当我运行以下testing脚本时,它将启动Parallels,Windows 8.1和Windows Excel 2013,而不是Mac Excel 2011.它甚至不会一致地执行此操作 – 有时会在提示文件后打开Mac Excel 2011。

这里是简单的testing脚本:

set theWorkbookFile to choose file with prompt "Please select an Excel workbook file:" set theWorkbookName to name of (info for theWorkbookFile) tell application "Microsoft Excel" open theWorkbookFile end tell 

我尝试用“Mac Excel”replace“Microsoft Excel”,但编译器不断更改它。

我在这里错过简单的东西吗?

您可以使用应用程序的path,如下所示:

 tell application "/Applications/Microsoft Office 2011/Microsoft Excel.app" open theWorkbookFile end tell 

你可以打开它的ID,但不知道如果Windows版本携带相同的通用,例如:

 set exID to get id of application "Microsoft Excel" tell application id exID make new document end tell 

您可以尝试从一个tell application "Finder"运行该应用tell application "Finder" ,如下所示:

 tell application "Finder" tell application "Microsoft Excel" -- Your code end tell end tell 

编辑

这可能是别的,除了Applescript。 我已经尝试了两种select。

  1. 使用“硬path”,如下所示:

     set pathToExcel to "Macintosh HD:Applications:Microsoft Office 2011:Microsoft Excel.app" tell application pathToExcel -- Your code end tell 
  2. 确保excel-files的默认编辑器是正确的程序,如下所示:

在这里输入图像说明

为了在Excel中编写更复杂的操作,我需要摆脱正在启动的“Windows”应用程序(尝试使用“Mac”应用程序的path对于复杂的命令不适用)。 为了摆脱“Windows”版本,我用苹果脚本启动了“Microsoft Excel”。 我提出了在docker中启动的项目的上下文菜单,并从Options项中select“在Finder中显示”。 然后,我退出已经启动的项目,并将其放入垃圾箱。 这些“应用程序”的位置似乎从Parallels的版本到版本不同。

我还将下面的内容添加到了我的复杂脚本的顶部。 我不知道path是否会保持一致,但如果是这样的话,这使我有机会在我的脚本启动之前解决这个问题:

告诉应用程序“Finder”是否存在POSIX文件“/ Users / davidacox / Applications(Parallels)/ {56aed35f-dfb1-41ea-8ade-aebd86441327} Applications.localized / Microsoft Excel.app”then

  display dialog "The evil excel stub is back" end if 

结束告诉