On Error Resume Next
Dim dlgOpen As FileDialog
Dim I As Integer, S As String, A As String, B As String
Set dlgOpen = Application.FileDialog(DialogType)
With dlgOpen
.title = TitleStr
.Filters.Clear
For I = 0 To UBound(Split(FilterStr, ";", -1), 1)
S = Split(FilterStr, ";", -1)(I)
A = Left(S, InStr(S, "(") - 1)
B = Mid(S, InStr(S, "(") + 1)
B = Left(B, InStr(B, ")") - 1)
.Filters.Add A, B
Next
.AllowMultiSelect = MultiSelect
If IsMissing(PathStr) Then
.InitialFileName = CurrentProject.Path
Else
.InitialFileName = PathStr
End If
.Show
End With
If dlgOpen.SelectedItems.Count > 0 Then
GetFileName = dlgOpen.SelectedItems(1)
Else
GetFileName = ""
End If
Set dlgOpen = Nothing
End Function