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。
-
使用“硬path”,如下所示:
set pathToExcel to "Macintosh HD:Applications:Microsoft Office 2011:Microsoft Excel.app" tell application pathToExcel -- Your code end tell
-
确保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
结束告诉