Option Explicit
Function GetOpenFilenameFrom(Optional sDirDefault As String) As Variant
Dim sDirCurrent As String, _
sFileTypes As String
sFileTypes = "All Files (*.*),*.*"
& "All Files (*.*),*.*"
sDirCurrent = CurDir
If sDirDefault = vbNullString Then
sDirDefault = CurDir
Else
If Len(Dir(sDirDefault, vbDirectory)) = 0 Then
sDirDefault = sDirCurrent
End If
End If
ChDrive Left(sDirDefault, 1)
ChDir (sDirDefault)
GetOpenFilenameFrom = Application.GetOpenFilename(sFileTypes)
ChDrive Left(sDirCurrent, 1)
ChDir (sDirCurrent)
End Function
Sub Test()
Dim sWBToOpen As Variant
sWBToOpen = GetOpenFilenameFrom(Range("A3").Value)
If Not sWBToOpen = False Then Workbooks.Open (sWBToOpen)
End Sub
|