File Location code

  • Thread starter Thread starter Rohit Thomas
  • Start date Start date
R

Rohit Thomas

Hello All,

I'm using the following modified code that was posted
by "Dan E." several weeks ago to write the path of a file
out to a cell. Below is the code:

FileName = Application.GetOpenFilename("Text Files _
(*.txt), *.txt")
CellLocation = Len(FileName) + 1 - InStr(1, StrReverse _
(FileName), "\")
FilePath = Mid(FileName, 1, CellLocation)
Range("G46").Value = FilePath

When I run this code using Excel 97, it gives me the
following error: Sub or Funtion not defined for
"StrReverse". Works fine on Excel 2K, what am I missing?

Thanks in advance,
Rohit
 
Hi Rohit

Excel 97 is older than Excel 2000, which is older than Excel XP. Things (here StrReverse)
are invented and added to each new version. Great thing is that nothing is removed. For
cross-version development you /must/ use the oldest version to develop on, or you're
working blindfolded and will be rewarded by error messages like this.
 
Hi Rohit,

The reason is the name of the function is InStrRev, not StrRev. Just
change that and the code should be fine.

Let me know if that doesn't work.

Mark
 
Herald,

Can I use something in it's place to get the desired
result that I'm looking for? Any suggestions on how I can
use the GetOpenFileName dialog to write the path of a file
to a cell?

Rohit
-----Original Message-----
Hi Rohit

Excel 97 is older than Excel 2000, which is older than
Excel XP. Things (here StrReverse)
are invented and added to each new version. Great thing
is that nothing is removed. For
cross-version development you /must/ use the oldest
version to develop on, or you're
 
Mark,

It's StrReverse and it reverses a string
ie ABC -> CBA

InStrRev is a search tool for searching for one string
within another from the end to the beginning, they are
nothing alike.

Dan E
 
One way:

Sub test()
Dim filename As String, L As Long
filename = Application.GetOpenFilename("Text Files " & _
"(*.txt), *.txt")
For L = Len(filename) To 1 Step -1
If Mid$(filename, L, 1) = "\" Then Exit For
Next
MsgBox Left$(filename, L - 1)
End Sub

If a folder is all you need selected, then see Jim Rech's "Browse for folder" at
http://www.bmsltd.co.uk/MVP/Default.htm
 
Back
Top