我想在macOS上用Excel打开.xls文件。 我只找到了C#的例子,但没有找到Swift的例子。
加分问题:是否可以使用Excel启动该文件,即使此文件扩展名与Excel无关?
答案 0 :(得分:8)
有NSWorkspace.sharedWorkspace().openURL(fileURL)
或NSWorkspace.sharedWorkspace().openFile(fileURL.path!)
以便按默认应用程序打开文件。
如果要强制Excel,可以使用NSWorkspace.sharedWorkspace().openFile(fileURL.path!, withApplication: "Microsoft Excel")
。
如果您更喜欢强制使用Excel并使用网址对象,则会有过多的openURLs(_:withAppBundleIdentifier:options:additionalEventParamDescriptor:launchIdentifiers)
虽然这不是什么大问题,但我正按照Swift 4.2更新语法 -
NSWorkspace.shared.openFile(fileURL!.path)
NSWorkspace.shared.openFile(fileURL!.path, withApplication: "Microsoft Excel")
NSWorkspace.shared.open([fileURL!], withAppBundleIdentifier: "com.microsoft.Excel", options: NSWorkspace.LaunchOptions.withErrorPresentation, additionalEventParamDescriptor: nil, launchIdentifiers: nil)
要获取任何应用的Bundle Identifier,请在终端中使用此命令
osascript -e 'id of app "*app_name*"'