ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Checking for the Existence of a Folder (https://www.excelbanter.com/excel-programming/295499-checking-existence-folder.html)

Viswanath Tumu

Checking for the Existence of a Folder
 
I need to check the folder "c:\program files\microsoft
office" to see if a folder that is inside this folder is
named office or office10 (or office something depending
on the version of office that is installed on a PC) and
run code based on the name of the folder. I have been
attempting to use the dir function as follows: zx=dir
("c:\program files\microsoft office\office*") but this
only returns a zero string, even though a folder
beginining with the work office is in there. What code
would I need to use to check for the existence of a
folder whose name always contains office but could
contain other characters as well? Thanks!

Melanie Breden

Checking for the Existence of a Folder
 
Hi Viswanath Tumu,

Viswanath Tumu wrote:
I need to check the folder "c:\program files\microsoft
office" to see if a folder that is inside this folder is
named office or office10 (or office something depending
on the version of office that is installed on a PC) and
run code based on the name of the folder. I have been
attempting to use the dir function as follows: zx=dir
("c:\program files\microsoft office\office*") but this
only returns a zero string, even though a folder
beginining with the work office is in there. What code
would I need to use to check for the existence of a
folder whose name always contains office but could
contain other characters as well? Thanks!


try this:

Sub FileDir()
Dim strPath As String
Dim zx As String
Dim objFSO As Object
Dim objSubFolder As Object

strPath = "c:\program files\microsoft office\"
Set objFSO = CreateObject("Scripting.FileSystemObject")

If Dir(strPath & "Office*", vbDirectory) < "" Then
For Each objSubFolder In objFSO.GetFolder(strPath).SubFolders
If InStr(objSubFolder.Name, "Office") Then
zx = objSubFolder.Name
Exit For
End If
Next objSubFolder

MsgBox zx
End If
End Sub

Another idea is to have a look at the Version from the Application:

Sub AppVersion()
Dim zx As String
zx = "Office" & IIf(Val(Application.Version) 9, _
" " & Val(Application.Version), "")
End Sub


--
Regards

Melanie Breden
- Microsoft MVP für Excel -

http://excel.codebooks.de (Das Excel-VBA Codebook)


Bob Phillips[_6_]

Checking for the Existence of a Folder
 
Hi Viswanath,

Here is a simple function to do it

Function FolderExists(Folder) As Boolean
Dim sFolder As String
On Error Resume Next
sFolder = Dir(Folder, vbDirectory)
If sFolder < "" Then
If (GetAttr(sFolder) And vbDirectory) = vbDirectory Then
FolderExists = True
End If
End If
End Function

use like

Debug.Print FolderExists("c:\program files\microsoft office")

or even

Debug.Print FolderExists("c:\program files\* office")

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"Viswanath Tumu" wrote in message
...
I need to check the folder "c:\program files\microsoft
office" to see if a folder that is inside this folder is
named office or office10 (or office something depending
on the version of office that is installed on a PC) and
run code based on the name of the folder. I have been
attempting to use the dir function as follows: zx=dir
("c:\program files\microsoft office\office*") but this
only returns a zero string, even though a folder
beginining with the work office is in there. What code
would I need to use to check for the existence of a
folder whose name always contains office but could
contain other characters as well? Thanks!





All times are GMT +1. The time now is 09:15 AM.

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