Does the folder exist?

  • Thread starter Thread starter Otto Moehrbach
  • Start date Start date
O

Otto Moehrbach

Excel XP & Win XP
How can I determine if a specific folder, say "C:\The Folder", exists?
I have an OP who will be sending some files, and the code to place the files
in that folder, to some people. Thanks for your time. Otto
 
This is right out of VBA help file.

Sub ShowFolderList(folderspec)
Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set fc = f.SubFolders
For Each f1 in fc
s = s & f1.name
s = s & vbCrLf
Next
MsgBox s
End Sub

If you don't want the whole list you could modifiy it to say:

For Each fl in fc
If fl.name = "ObjectFileName" Then
MsgBox "File Is There"
Else
MsgBox "Not In This Bunch"
End If
Next
 
Dim TestStr as string
TestStr = ""
on error resume next
teststr = dir("c:\the folder\nul")
on error goto 0

if teststr = "" then
'doesn't exist
else
'exists
end if

==========
But maybe you don't have to check. Maybe it would be enough to just create the
folder (ignoring any error if the folder is already there):

on error resume next
mkdir "C:\the folder"
 
Function FolderExists(strFolderPath As String) As Boolean
On Error Resume Next
If Len(strFolderPath) > 0 Then
FolderExists = ((GetAttr(strFolderPath) And vbDirectory) > 0)
Err.Clear
End If
End Function


RBS
 
Dave
Thanks for that but I have to show my ignorance. It seems to me that
your code is checking for the existence of a folder "nul" as a subfolder to
the folder "the folder". If this is so then "teststr" will be "" even if
"the folder" exists, since the folder "nul" doesn't exist. Did I jump the
track somewhere? Thanks again for your time. Otto
 
There are DOS devices that "exist" for every folder:

PRN (Printer)
CON (Console)
NUL (Null)
LPTx (Printer)
AUX (Auxillary)
COMx (Serial)

If the device doesn't exist, then the folder doesn't exist.

Try it and you'll see.
 
Just another of many...

Function IsFolder(S As String) As Boolean
IsFolder = CreateObject("Scripting.FileSystemObject").FolderExists(S)
End Function
 
Thanks Dana, that's short and sweet. Otto
Dana DeLouis said:
Just another of many...

Function IsFolder(S As String) As Boolean
IsFolder = CreateObject("Scripting.FileSystemObject").FolderExists(S)
End Function
 

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

Similar Threads


Back
Top