ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Create directory on hard drive? (https://www.excelbanter.com/excel-programming/415957-create-directory-hard-drive.html)

Charlotte E.

Create directory on hard drive?
 
I need to export some data to a specific folder on the harddrive - via VBA!

Is it possible to create a directory on the harddrive via VBA if you know
the path and the foldername(s)?

TIA,



Peter T

Create directory on hard drive?
 
sPath = Application.DefaultFilePath & "\"
sFldr = "TestFolder"
MkDir sPath & sFldr

It will error if the folder already exists or do not have rights to the path

Regards,
Peter T

"Charlotte E." wrote in message
...
I need to export some data to a specific folder on the harddrive - via VBA!

Is it possible to create a directory on the harddrive via VBA if you know
the path and the foldername(s)?

TIA,





Mike H

Create directory on hard drive?
 
Charlotte,

Try this. Note the directory structure is built in stages and before each
stage there is a check to see if the directory exists.

Sub makedir()
If Dir("C:\yyy") < "" Then
Resume Next
Else
MkDir "C:\yyy"
End If
If Dir("C:\yyy\zzz") < "" Then
Resume Next
Else
MkDir "C:\yyy\zzzz"
End If
End Sub

Mike

"Charlotte E." wrote:

I need to export some data to a specific folder on the harddrive - via VBA!

Is it possible to create a directory on the harddrive via VBA if you know
the path and the foldername(s)?

TIA,




Rick Rothstein \(MVP - VB\)[_2635_]

Create directory on hard drive?
 
After my signature is some code that I have posted in the past to the
compiled VB newsgroups, but which will work fine in Excel VBA as well. Note
that it is presented as a Function which means you can check if it worked
okay or not using a structure like this...

If MakeDirectoryPath("c:\dir1\dir2\dir3\dir4") Then
MsgBox "Directory path created successfully"
Else
MsgBox "An error occurred while trying to create that directory"
End If

allowing you to take any steps necessary for either case. Or, if you want to
omit the check, you can call it directly as if it were a subroutine (you can
do this for any function) using either this...

MakeDirectoryPath "c:\dir1\dir2\dir3\dir4"

or this...

Call MakeDirectoryPath("c:\dir1\dir2\dir3\dir4")

Rick

Here is a subroutine (VB6) that will create of all the sub-directories (that
do not already exist) for a specified path argument. The error checking was
made up off the top of my head, but I think it covers the problems that one
might encounter. Note that the path must start with a drive letter, followed
by a colon, followed by a backslash, followed by the directories path.

Function MakeDirectoryPath(ByVal Path As String) As Boolean
Dim X As Long
Dim NewPath As String
Dim Parts() As String
On Error GoTo OOPS
If Path Like "[a-zA-Z]:\*" And InStr(Path, "\\") = 0 Then
If Len(Dir$(Left$(Path, 3))) = 0 Then Exit Function
Parts = Split(Path, "\")
Parts(0) = Parts(0) & "\"
NewPath = Parts(0)
For X = 0 To UBound(Parts)
If Len(Dir$(NewPath, vbDirectory)) = 0 Then MkDir NewPath
If Right$(NewPath, 1) < "\" Then NewPath = NewPath & "\"
If X < UBound(Parts) Then NewPath = NewPath & Parts(X + 1)
Next
MakeDirectoryPath = True
End If
OOPS:
End Function



"Charlotte E." wrote in message
...
I need to export some data to a specific folder on the harddrive - via VBA!

Is it possible to create a directory on the harddrive via VBA if you know
the path and the foldername(s)?

TIA,





All times are GMT +1. The time now is 02:09 PM.

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