ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Solution for Application.FileSearch Excel 2007-2010 (https://www.excelbanter.com/excel-programming/443920-solution-application-filesearch-excel-2007-2010-a.html)

Michel Demers[_2_]

Solution for Application.FileSearch Excel 2007-2010
 
I use Application.FileSearch to locate the folder of where the user's
Acrobat Reader is located on his computer as it can be located in varoious
folders pending on it's version.

For example, my Reader is located in : C:\Program Files\Adobe\Reader
9.0\Reader\AcroRd32.exe. After locating the most recent reader, I open a
file named Volume4.pdf from a specified location. This works fine in
Excel2003 or before but not on Excel 2007 and after.

A suggestion for a workaround would be nice.

Thank you all.

Michel

Dim dtData As Date, dtMaxDate As Date
Dim i As Long
Dim sStr As String

With Application.FileSearch
.NewSearch
.LookIn = "c:\Program Files\Adobe\"
.SearchSubFolders = True
.Filename = "AcroRd32.exe"
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles
If .Execute() = 0 Then GoTo NoAdobe
If .Execute() 0 Then
For i = 1 To .FoundFiles.Count
dtDate = FileDateTime(.FoundFiles(i))
If dtDate dtMaxDate Then
sStr = .FoundFiles(i)
dtMaxDate = dtDate
End If
Next
Shell sStr & " " & Lecteur & "\volume4.pdf", vbNormalFocus
End If
End With
Exit Sub
NoAdobe:
Msgbox = "Adobe Reader was not found"
End sub





Dave Peterson[_2_]

Solution for Application.FileSearch Excel 2007-2010
 
application.filesearch has been removed in xl2007+. (It always seemed less than
reliable for me.)

You could replace the filesearch with Dir() or even FSO, but it may be even
simpler to open the PDF directly using .followhyperlink.

Thisworkbook.followhyperlink _
address:="C:\your path\to the\file\somefile.pdf"





On 11/20/2010 09:36, Michel Demers wrote:
I use Application.FileSearch to locate the folder of where the user's
Acrobat Reader is located on his computer as it can be located in varoious
folders pending on it's version.

For example, my Reader is located in : C:\Program Files\Adobe\Reader
9.0\Reader\AcroRd32.exe. After locating the most recent reader, I open a
file named Volume4.pdf from a specified location. This works fine in
Excel2003 or before but not on Excel 2007 and after.

A suggestion for a workaround would be nice.

Thank you all.

Michel

Dim dtData As Date, dtMaxDate As Date
Dim i As Long
Dim sStr As String

With Application.FileSearch
.NewSearch
.LookIn = "c:\Program Files\Adobe\"
.SearchSubFolders = True
.Filename = "AcroRd32.exe"
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles
If .Execute() = 0 Then GoTo NoAdobe
If .Execute() 0 Then
For i = 1 To .FoundFiles.Count
dtDate = FileDateTime(.FoundFiles(i))
If dtDate dtMaxDate Then
sStr = .FoundFiles(i)
dtMaxDate = dtDate
End If
Next
Shell sStr& " "& Lecteur& "\volume4.pdf", vbNormalFocus
End If
End With
Exit Sub
NoAdobe:
Msgbox = "Adobe Reader was not found"
End sub





--
Dave Peterson

Michel Demers[_2_]

Solution for Application.FileSearch Excel 2007-2010
 
Works great in all versions of Excel ...

Thank you Dave

Regards

Michel

"Dave Peterson" wrote in message
...
application.filesearch has been removed in xl2007+. (It always seemed
less than reliable for me.)

You could replace the filesearch with Dir() or even FSO, but it may be
even simpler to open the PDF directly using .followhyperlink.

Thisworkbook.followhyperlink _
address:="C:\your path\to the\file\somefile.pdf"





On 11/20/2010 09:36, Michel Demers wrote:
I use Application.FileSearch to locate the folder of where the user's
Acrobat Reader is located on his computer as it can be located in
varoious
folders pending on it's version.

For example, my Reader is located in : C:\Program Files\Adobe\Reader
9.0\Reader\AcroRd32.exe. After locating the most recent reader, I open a
file named Volume4.pdf from a specified location. This works fine in
Excel2003 or before but not on Excel 2007 and after.

A suggestion for a workaround would be nice.

Thank you all.

Michel

Dim dtData As Date, dtMaxDate As Date
Dim i As Long
Dim sStr As String

With Application.FileSearch
.NewSearch
.LookIn = "c:\Program Files\Adobe\"
.SearchSubFolders = True
.Filename = "AcroRd32.exe"
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles
If .Execute() = 0 Then GoTo NoAdobe
If .Execute() 0 Then
For i = 1 To .FoundFiles.Count
dtDate = FileDateTime(.FoundFiles(i))
If dtDate dtMaxDate Then
sStr = .FoundFiles(i)
dtMaxDate = dtDate
End If
Next
Shell sStr& " "& Lecteur& "\volume4.pdf", vbNormalFocus
End If
End With
Exit Sub
NoAdobe:
Msgbox = "Adobe Reader was not found"
End sub





--
Dave Peterson





All times are GMT +1. The time now is 10:31 PM.

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