【问题标题】:AppleScript Tell Application Microsoft Excel Opens Windows Excel on Mac with Parallels?AppleScript Tell 应用程序 Microsoft Excel 在 Mac 上使用 Parallels 打开 Windows Excel?
【发布时间】:2015-06-13 03:32:28
【问题描述】:

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

当我运行以下测试脚本时,它会启动 Parallels、Windows 8.1 和 Windows Excel 2013 而不是 Mac Excel 2011。它甚至不会始终如一地执行此操作 - 有时它会在提示输入文件后打开 Mac Excel 2011。

这是简单的测试脚本:

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

我尝试将“Microsoft Excel”替换为“Mac Excel”,但编译器不断将其改回。

我在这里遗漏了一些简单的东西吗?

【问题讨论】:

    标签: excel macos applescript parallels


    【解决方案1】:

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

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

    【讨论】:

    • 我是 +1 这个因为它更有用更简洁
    • @jackjr300 这是完美的 - 谢谢。让 Parallels 打开 Windows,然后打开 Windows Excel 让我抓狂:-)
    【解决方案2】:

    您可以使用它的 ID 打开它,但不确定 Windows 版本是否带有相同的泛型,例如:

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

    【讨论】:

    • 我试过这个来回答你的问题 - 它仍然在 Parallels 下打开 Windows Excel,所以它可能带有相同的 ID。
    • 感谢您的评价。虽然我有 Windows (VMFusion),但我没有在那里安装 excel,所以我无法获取信息。
    【解决方案3】:

    您可以尝试从tell application "Finder" 内部运行应用程序,如下所示:

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

    编辑

    它可能是 Applescript 之外的其他东西。我尝试了两种选择。

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

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

    【讨论】:

    • 我也试过了 - 它还可以在 Parallels 下打开 Windows Excel。希望这个问题可以帮助其他人避免很多挫折。
    • 感谢您的编辑。 Microsoft Excel 是 xlsx 文件的默认编辑器(备选方案 2),它仍在 Parallels 下打开 Windows Excel/Windows 8.1。看起来指定应用程序的路径(替代方案 1)类似于上面 jackjr300 的答案似乎是最好的方法。谢谢。
    【解决方案4】:

    为了在 Excel 中编写更复杂的操作脚本,我需要摆脱正在启动的“Windows”应用程序(尝试使用“Mac”应用程序路径的解决方法对于复杂的命令)。为了摆脱“Windows”版本,我使用苹果脚本启动了“Microsoft Excel”。我调出了在 Dock 中启动的项目的上下文菜单,并从选项项目中选择了“在 Finder 中显示”。然后我退出了已启动的项目,并将其放入垃圾箱。这些“应用程序”的位置似乎因 Parallels 版本而异。

    我还在复杂脚本的顶部添加了以下内容。我不知道路径是否会保持一致,但如果确实如此,这让我有机会在我的脚本开始之前解决问题:

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

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

    说完

    【讨论】:

      猜你喜欢
      • 2015-01-26
      • 2012-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多