ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Get filename only (https://www.excelbanter.com/excel-programming/304473-get-filename-only.html)

kaon[_21_]

Get filename only
 
Dear all,

How can I just return the filename only (i.e without path) as an
absolute path can be returned by:
fName = Application.GetOpenFilename(FileFilter:="All files (*.*),
*.*", _
Title:="Select a file",
MultiSelect:=False)

Thanks.


---
Message posted from http://www.ExcelForum.com/


Frank Kabel

Get filename only
 
Hi
try the following (will not work in Excel 97 due to InStrRev)
sub foo()
dim fname
fname = application.getopenfilename (FileFilter:="All files (*.*),
*.*", _
Title:="Select a file", MultiSelect:=False)
fname = mid(fname,instrrev(fname,"\")+1,255)
msgbox "You have entered the name:" & fname
end sub

--
Regards
Frank Kabel
Frankfurt, Germany

"kaon " schrieb im Newsbeitrag
...
Dear all,

How can I just return the filename only (i.e without path) as an
absolute path can be returned by:
fName = Application.GetOpenFilename(FileFilter:="All files (*.*),
*.*", _
Title:="Select a file",
MultiSelect:=False)

Thanks.


---
Message posted from http://www.ExcelForum.com/



kaon[_22_]

Get filename only
 
Thanks, dude.

I think there is a keyword for that at the beginning

--
Message posted from http://www.ExcelForum.com


Ron de Bruin

Get filename only
 
Hi kaon

For Excel 97 - 2003 you can use this

Sub foo2()
Dim vArr As Variant, fname As Variant
Dim sFileNameXls As String
fname = Application.GetOpenFilename(FileFilter:="All files (*.*),*.*", _
Title:="Select a file", MultiSelect:=False)
vArr = Split97(fname, "\")
sFileNameXls = vArr(UBound(vArr))
MsgBox "You have entered the name:" & sFileNameXls
End Sub

Function Split97(sStr As Variant, sdelim As String) As Variant
'Tom Ogilvy
Split97 = Evaluate("{""" & _
Application.Substitute(sStr, sdelim, """,""") & """}")
End Function


--
Regards Ron de Bruin
http://www.rondebruin.nl


"Frank Kabel" wrote in message ...
Hi
try the following (will not work in Excel 97 due to InStrRev)
sub foo()
dim fname
fname = application.getopenfilename (FileFilter:="All files (*.*),
*.*", _
Title:="Select a file", MultiSelect:=False)
fname = mid(fname,instrrev(fname,"\")+1,255)
msgbox "You have entered the name:" & fname
end sub

--
Regards
Frank Kabel
Frankfurt, Germany

"kaon " schrieb im Newsbeitrag
...
Dear all,

How can I just return the filename only (i.e without path) as an
absolute path can be returned by:
fName = Application.GetOpenFilename(FileFilter:="All files (*.*),
*.*", _
Title:="Select a file",
MultiSelect:=False)

Thanks.


---
Message posted from http://www.ExcelForum.com/





Dick Kusleika[_3_]

Get filename only
 
kaon

You can also use the Dir function

Dir(fname) will return only the file name

--
Dick Kusleika
MVP - Excel
Excel Blog - Daily Dose of Excel
www.dicks-blog.com

"kaon " wrote in message
...
Dear all,

How can I just return the filename only (i.e without path) as an
absolute path can be returned by:
fName = Application.GetOpenFilename(FileFilter:="All files (*.*),
*.*", _
Title:="Select a file",
MultiSelect:=False)

Thanks.


---
Message posted from http://www.ExcelForum.com/




Hamilton R. Romano

Get filename only
 
Hi

Why not:

fname = dir(fname)

Regards
Hamilton R. Romano

"Ron de Bruin" wrote in message ...
Hi kaon

For Excel 97 - 2003 you can use this

Sub foo2()
Dim vArr As Variant, fname As Variant
Dim sFileNameXls As String
fname = Application.GetOpenFilename(FileFilter:="All files (*.*),*.*", _
Title:="Select a file", MultiSelect:=False)
vArr = Split97(fname, "\")
sFileNameXls = vArr(UBound(vArr))
MsgBox "You have entered the name:" & sFileNameXls
End Sub

Function Split97(sStr As Variant, sdelim As String) As Variant
'Tom Ogilvy
Split97 = Evaluate("{""" & _
Application.Substitute(sStr, sdelim, """,""") & """}")
End Function


--
Regards Ron de Bruin
http://www.rondebruin.nl


"Frank Kabel" wrote in message ...
Hi
try the following (will not work in Excel 97 due to InStrRev)
sub foo()
dim fname
fname = application.getopenfilename (FileFilter:="All files (*.*),
*.*", _
Title:="Select a file", MultiSelect:=False)
fname = mid(fname,instrrev(fname,"\")+1,255)
msgbox "You have entered the name:" & fname
end sub

--
Regards
Frank Kabel
Frankfurt, Germany

"kaon " schrieb im Newsbeitrag
...
Dear all,

How can I just return the filename only (i.e without path) as an
absolute path can be returned by:
fName = Application.GetOpenFilename(FileFilter:="All files (*.*),
*.*", _
Title:="Select a file",
MultiSelect:=False)

Thanks.


---
Message posted from http://www.ExcelForum.com/



ForSale[_7_]

Get filename only
 
http://www.cpearson.com/excel/excelF.htm#FileNam

--
Message posted from http://www.ExcelForum.com


Ron de Bruin

Get filename only
 
Hi Hamilton

When I want to know this a few years back Tom give me this example and
I always use it since then.

But Dir(fname) Is OK for me<g

Have a nice day



--
Regards Ron de Bruin
http://www.rondebruin.nl


"Hamilton R. Romano" wrote in message om...
Hi

Why not:

fname = dir(fname)

Regards
Hamilton R. Romano

"Ron de Bruin" wrote in message ...
Hi kaon

For Excel 97 - 2003 you can use this

Sub foo2()
Dim vArr As Variant, fname As Variant
Dim sFileNameXls As String
fname = Application.GetOpenFilename(FileFilter:="All files (*.*),*.*", _
Title:="Select a file", MultiSelect:=False)
vArr = Split97(fname, "\")
sFileNameXls = vArr(UBound(vArr))
MsgBox "You have entered the name:" & sFileNameXls
End Sub

Function Split97(sStr As Variant, sdelim As String) As Variant
'Tom Ogilvy
Split97 = Evaluate("{""" & _
Application.Substitute(sStr, sdelim, """,""") & """}")
End Function


--
Regards Ron de Bruin
http://www.rondebruin.nl


"Frank Kabel" wrote in message ...
Hi
try the following (will not work in Excel 97 due to InStrRev)
sub foo()
dim fname
fname = application.getopenfilename (FileFilter:="All files (*.*),
*.*", _
Title:="Select a file", MultiSelect:=False)
fname = mid(fname,instrrev(fname,"\")+1,255)
msgbox "You have entered the name:" & fname
end sub

--
Regards
Frank Kabel
Frankfurt, Germany

"kaon " schrieb im Newsbeitrag
...
Dear all,

How can I just return the filename only (i.e without path) as an
absolute path can be returned by:
fName = Application.GetOpenFilename(FileFilter:="All files (*.*),
*.*", _
Title:="Select a file",
MultiSelect:=False)

Thanks.


---
Message posted from http://www.ExcelForum.com/





Ron de Bruin

Get filename only
 
Hi Dave

Lots of disk access would slow down

Now I can defend myself when I use more code lines<g




--
Regards Ron de Bruin
http://www.rondebruin.nl


"Dave Peterson" wrote in message ...
I suggested the dir(fname), too for a poster who was retrieving lots and lots of
files.

Tom suggested instrrev (or some variation). Lots of disk access would slow down
the procedure more than the instrrev (or some variation).

Made sense to me (well, after I was corrected!).



Ron de Bruin wrote:

Hi Hamilton

When I want to know this a few years back Tom give me this example and
I always use it since then.

But Dir(fname) Is OK for me<g

Have a nice day

--
Regards Ron de Bruin
http://www.rondebruin.nl

"Hamilton R. Romano" wrote in message om...
Hi

Why not:

fname = dir(fname)

Regards
Hamilton R. Romano

"Ron de Bruin" wrote in message ...
Hi kaon

For Excel 97 - 2003 you can use this

Sub foo2()
Dim vArr As Variant, fname As Variant
Dim sFileNameXls As String
fname = Application.GetOpenFilename(FileFilter:="All files (*.*),*.*", _
Title:="Select a file", MultiSelect:=False)
vArr = Split97(fname, "\")
sFileNameXls = vArr(UBound(vArr))
MsgBox "You have entered the name:" & sFileNameXls
End Sub

Function Split97(sStr As Variant, sdelim As String) As Variant
'Tom Ogilvy
Split97 = Evaluate("{""" & _
Application.Substitute(sStr, sdelim, """,""") & """}")
End Function


--
Regards Ron de Bruin
http://www.rondebruin.nl


"Frank Kabel" wrote in message ...
Hi
try the following (will not work in Excel 97 due to InStrRev)
sub foo()
dim fname
fname = application.getopenfilename (FileFilter:="All files (*.*),
*.*", _
Title:="Select a file", MultiSelect:=False)
fname = mid(fname,instrrev(fname,"\")+1,255)
msgbox "You have entered the name:" & fname
end sub

--
Regards
Frank Kabel
Frankfurt, Germany

"kaon " schrieb im Newsbeitrag
...
Dear all,

How can I just return the filename only (i.e without path) as an
absolute path can be returned by:
fName = Application.GetOpenFilename(FileFilter:="All files (*.*),
*.*", _
Title:="Select a file",
MultiSelect:=False)

Thanks.


---
Message posted from http://www.ExcelForum.com/



--

Dave Peterson





All times are GMT +1. The time now is 06:11 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com