0

There are numerous Q&A's for Excel WINDOWS, but none for Excel MAC that specifically answer this question.

Using Excel Mac 2011 VBA, how do I open a non-Excel file using the file's default app?

After much research and testing, I figured out the answer. See below.

1 Answer 1

1

This works running Microsoft Excel 14.7.2 (14.7.2) on macOS 10.12.6.

```vb

Sub open_file()

Dim scriptStr As String
Dim hfsPath As String

hfsPath = "~:Documents:Test File To Open From Excel.txt"

'--- Create AppleScript to Open Non-Excel File ---
'       (Note: You cannot use POSIX path or POSIX commands)
'          So, I have allowed for the tilde in a HFS path
'         to mean the same as in a POSIX path:  Users Home Folder

scriptStr = "set hfsPath to """ & hfsPath & """" & vbNewLine & _
    "if (hfsPath starts with ""~"") then" & vbNewLine & _
    "   set homePath to (path to home folder) as text" & vbNewLine & _
    "   set hfsPath to homePath & (text 3 thru -1 of hfsPath)" & vbNewLine & _
    "end if" & vbNewLine & _
    "tell application ""Finder"" to open file hfsPath" & vbNewLine & _
    "return hfsPath"

 Debug.Print scriptStr

'--- Execute AppleScript to Open Non-Excel File ---

hfsPath = MacScript(scriptStr)
Debug.Print hfsPath

End Sub

```

For Excel Windows, see
How can Excel Windows VBA open file using default application

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.