Tools Links Login

CreateFolders

Make nested subfolders in a single method.

Original Author: Gerald Bryant

Inputs

sPath: Fully-qualified absolute or relative path you wish to create.
'Example 1: \NetworkVolumeNetworkShareExistingDirNewDirNewSubdirNewSubDir
'Example 2: C:Program Filesacdefghijklm opq s uvwxyz

Assumptions

Add reference "Microsoft Scripting Runtime" (scrrun.dll) available at http://www.microsoft.com/scripting or with VB6.

Side Effects

Number 70, Permission Denied error will occur is write access or directory create access is not allowed for the drive for that user.
'Reference "Microsoft Scripting Runtime" (scrrun.dll) available at http://www.microsoft.com/scripting or with VB6.

API Declarations

Add reference "Microsoft Scripting Runtime" (scrrun.dll) available at http://www.microsoft.com/scripting or with VB6.

Code

Public Sub CreateFolders(ByVal sPath As String)
Dim oFileSystem As New Scripting.FileSystemObject
'or late-bind with:
'Dim oFileSystem As Object
'Set oFileSystem = CreateObject("Scripting.FileSystemObject")
On Error GoTo ErrorHandler
With oFileSystem
  ' Is this drive valid and ready?
  If .DriveExists(.GetDriveName(sPath)) Then
   ' Is this folder not yet valid?
   If Not .FolderExists(sPath) Then
    ' Recurse back in to this method until a parent folder is valid.
    CreateFolders .GetParentFolderName(sPath)
    ' Create only a nonexistant folder before exiting the method.
     .CreateFolder sPath
   End If
  End If
End With
Set oFileSystem = Nothing
ExitMethod:
Exit Sub
ErrorHandler:
App.LogEvent "CreateFolders Error in " & Err.Source & _
": Could not create " & sPath & ".", vbLogEventTypeInformation
End Sub

About this post

Posted: 2002-06-01
By: ArchiveBot
Viewed: 100 times

Categories

Visual Basic 6

Attachments

No attachments for this post


Loading Comments ...

Comments

No comments have been added for this post.

You must be logged in to make a comment.