A family of Microsoft word processing software products for creating web, email, and print documents.
MSO File Picker does not exist on the Mac. You have to use MacScript.
Use the following as replacement code:
Dim iPath As String, iScript As String, iFiles As String, iVol As Variant
Dim iSplit As Variant, N As Long, OneFile As Boolean, FileFormat As String
FileFormat = "{""bmp"",""emf"",""emz"",""eps"",""fpix"",""fpx"",""gif"",""jpeg"",""jfif""," & _
"""jpeg-2000"",""jpg"",""pdf"",""pict"",""pct"",""png"",""pntg"",""psd""," & _
"""qtif"",""sgi"",""svg"",""tga"",""tpic"",""tiff"",""tif"",""wmf"",""wmz""}"
OneFile = False
On Error Resume Next
iPath = MacScript("return (path to pictures folder) as String")
iScript = _
"set theFiles to (choose file of type" & _
" " & FileFormat & " " & _
"with prompt ""Please select a file or files"" default location alias """ & _
iPath & """ with multiple selections allowed)" & vbNewLine & _
"set thePOSIXFiles to {}" & vbNewLine & _
"repeat with aFile in theFiles" & vbNewLine & _
"set end of thePOSIXFiles to POSIX path of aFile" & vbNewLine & _
"end repeat" & vbNewLine & _
"set {TID, text item delimiters} to {text item delimiters, ASCII character 10}" & vbNewLine & _
"set thePOSIXFiles to thePOSIXFiles as text" & vbNewLine & _
"set text item delimiters to TID" & vbNewLine & _
"return thePOSIXFiles"
iFiles = MacScript(iScript)
On Error GoTo errHandler
If iFiles <> "" Then
With Application
.ScreenUpdating = False
End With
iSplit = Split(iFiles, chr(10))
For N = LBound(iSplit) To UBound(iSplit)
Debug.Print iSplit(N)
' add your code here
Next N
With Application
.ScreenUpdating = True
End With
End If