RmDir Statement

Named Arguments

No

Syntax

RmDir path

path

Use: Required

Data Type: String

The path of the folder to be removed.

Description

Removes a folder.

Rules at a Glance

  • You may include a drive letter in path ; if you don't specify a drive letter, the folder is assumed to be on the current drive.

  • If the folder contains files or other folders, RmDir will generate runtime error 75, "Path/File access error."

Example

The following subroutine deletes all the files in a folder and removes its subfolders. If those contain files or folders, it deletes those too by calling itself recursively until all child folders and their files are removed.

Private Sub RemoveFolder(ByVal strFolder As String) Static blnLowerLevel As Boolean ' A recursive call - no ' need to prompt user Dim blnRepeated As Boolean ' Use Dir state info on ' repeated calls Dim strFile As String ' File/Directory contained in ' strFolder ' Delete all files Do strFile = Dir(strFolder & "\*.*", _ vbNormal Or vbHidden Or vbSystem) If strFile <> "" Then If Not blnLowerLevel Then If MsgBox("Delete files in directory " & _ strFolder & "?", _ vbQuestion Or vbOKCancel, _ "Confirm File Deletion") _ = vbCancel Then Exit Sub End If strFile = strFolder & "\" & strFile Kill strFile End If Loop While strFile <> "" ' Delete all directories Do If Not blnRepeated Then strFile = Dir(strFolder & "\*.*", vbDirectory) blnRepeated = True Else strFile = Dir(, vbDirectory) End If If strFile <> "" And _ strFile <> "." And strFile <> ".." ...

Get VB & VBA in a Nutshell: The Language now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.