मैं मैकोज़ पर एक्सेल के साथ एक .xls फ़ाइल खोलना पसंद करता हूं। मुझे केवल सी # के लिए उदाहरण मिले लेकिन स्विफ्ट के लिए नहीं।

बोनस प्रश्न: क्या उस फ़ाइल को एक्सेल के साथ भी लॉन्च करना संभव है, भले ही यह फ़ाइल एक्सटेंशन एक्सेल से संबद्ध न हो?

5
PjotrC 22 जून 2016, 02:12
आप टर्मिनल कमांड open /path/to/file का उपयोग करके संबंधित प्रोग्राम के साथ एक फाइल खोल सकते हैं। आप इसे NSTask का उपयोग करके तेजी से कर सकते हैं
 – 
Palle
22 जून 2016, 02:16

1 उत्तर

सबसे बढ़िया उत्तर

फ़ाइलों को उनके डिफ़ॉल्ट एप्लिकेशन द्वारा खोलने के लिए NSWorkspace.sharedWorkspace().openURL(fileURL) या NSWorkspace.sharedWorkspace().openFile(fileURL.path!) है।

यदि आप एक्सेल को बाध्य करना चाहते हैं, तो आप NSWorkspace.sharedWorkspace().openFile(fileURL.path!, withApplication: "Microsoft Excel") का उपयोग कर सकते हैं।

यदि आप एक्सेल को ज़बरदस्ती करना और URL ऑब्जेक्ट का उपयोग करना पसंद करते हैं, तो अत्यधिक openURLs(_:withAppBundleIdentifier:options:additionalEventParamDescriptor:launchIdentifiers) है

हालाँकि यह कोई बड़ी बात नहीं है, फिर भी मैं स्विफ्ट 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)

किसी भी ऐप का बंडल आइडेंटिफ़ायर प्राप्त करने के लिए, अपने टर्मिनल में इस कमांड का उपयोग करें

 osascript -e 'id of app "*app_name*"'
12
Ashutosh Shukla 17 अप्रैल 2019, 11:31