Filesearch .LookIn fixated on MyDocuments

R

RAP

Hello All,
Having made a habit of utilizing this newsgroup for "programming lessons",
and finding it invaluable, I finally have a question for which I cannot find
an answer. I think my answer is "find another way to do this without using
FileSearch." Yet, I must ask....
I am using typical FileSearch code (from this newsgroup) to locate the
latest file in a folder. In my application, this can be done via filenames
(mmyy at the beginning of each file in the folder). (Therein lies my answer)
The code worked a number of times with no problems, then starting giving the
following problem: The .LookIn value stays at "My Documents", (when moused
over while stepping through the code) instead of the coded folder on the
other side of the = sign. Anyone have any ideas on why this is happening?

With Application.FileSearch
.NewSearch
.LookIn = "C:\Some\Long\String\"
(mouse over .LookIn and get "C:\My Documents"

Looking forward to your experience and suggestions.
Randy
 
J

Jim Cone

I don't know what the problem is with your FileSearch code.
However, FileSearch has a bad reputation and was removed from XL2007.
I prefer using the FileSystemObject - included in most versions of Windows.
(the Dir function also works)...
'---
Sub duce()
'Jim Cone - Portland, Oregon USA - June 2005
'Displays the latest file name in the strPath folder.

Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim strPath As String
Dim strName As String
Dim varDate As Date

' Specify the folder - Modify to suit...
strPath = "C:\Program Files\Microsoft Office\Office\Library"
' Use Microsoft Scripting runtime.
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strPath)

' Check date on each file in folder.
For Each objFile In objFolder.Files
If objFile.DateLastModified > varDate Then
varDate = objFile.DateLastModified
strName = objFile.Name
End If
Next 'objFile

' Display file name in message box.
MsgBox strName & " - is latest file - " & varDate

Set objFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
End Sub
'---
Jim Cone
Portland, Oregon USA




"RAP"
wrote in message
Hello All,
Having made a habit of utilizing this newsgroup for "programming lessons",
and finding it invaluable, I finally have a question for which I cannot find
an answer. I think my answer is "find another way to do this without using
FileSearch." Yet, I must ask....
I am using typical FileSearch code (from this newsgroup) to locate the
latest file in a folder. In my application, this can be done via filenames
(mmyy at the beginning of each file in the folder). (Therein lies my answer)
The code worked a number of times with no problems, then starting giving the
following problem: The .LookIn value stays at "My Documents", (when moused
over while stepping through the code) instead of the coded folder on the
other side of the = sign. Anyone have any ideas on why this is happening?

With Application.FileSearch
.NewSearch
.LookIn = "C:\Some\Long\String\"
(mouse over .LookIn and get "C:\My Documents"

Looking forward to your experience and suggestions.
Randy
 
R

RAP

Jim, Thank you for the promt reply. I simply pasted your code in a new
module, modified the strPath and ran the macro. Works perfectly. It now
looks like my new topic is: FileSystemObjects. Thanks again, Randy
 
J

Jim Cone

You are welcome.
If interested, the help file for Windows Script (includes filesystemobject) was/is available here...
http://www.microsoft.com/downloads/...48-207d-4be1-8a76-1c4099d7bbb9&DisplayLang=en
-or-
http://tinyurl.com/326arm
--
Jim Cone
Portland, Oregon USA


"RAP"
wrote in message
Jim, Thank you for the promt reply. I simply pasted your code in a new
module, modified the strPath and ran the macro. Works perfectly. It now
looks like my new topic is: FileSystemObjects. Thanks again, Randy
 
R

RAP

Jim, thanks for the link. It looks like it will keep me flush with reading
material for quite some time. Thanks again for the code. I'm off and
running again. - Randy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top