Excel VBA: проверьте, существует ли папка – методы и примеры кода

Чтобы проверить, существует ли папка в Excel VBA, вы можете использовать различные методы. Вот несколько примеров:

Метод 1: использование функции Dir

Function FolderExists(path As String) As Boolean
    If Dir(path, vbDirectory) <> "" Then
        FolderExists = True
    Else
        FolderExists = False
    End If
End Function

Пример использования:

Sub ExampleUsage()
    Dim folderPath As String
    folderPath = "C:\Path\to\Folder"

    If FolderExists(folderPath) Then
        MsgBox "Folder exists!"
    Else
        MsgBox "Folder does not exist!"
    End If
End Sub

Метод 2: использование FileSystemObject

Function FolderExists(path As String) As Boolean
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")

    If fso.FolderExists(path) Then
        FolderExists = True
    Else
        FolderExists = False
    End If
End Function

Пример использования:

Sub ExampleUsage()
    Dim folderPath As String
    folderPath = "C:\Path\to\Folder"

    If FolderExists(folderPath) Then
        MsgBox "Folder exists!"
    Else
        MsgBox "Folder does not exist!"
    End If
End Sub

Метод 3. Использование функции GetAttr

Function FolderExists(path As String) As Boolean
    On Error Resume Next
    If (GetAttr(path) And vbDirectory) = vbDirectory Then
        FolderExists = True
    Else
        FolderExists = False
    End If
    On Error GoTo 0
End Function

Пример использования:

Sub ExampleUsage()
    Dim folderPath As String
    folderPath = "C:\Path\to\Folder"

    If FolderExists(folderPath) Then
        MsgBox "Folder exists!"
    Else
        MsgBox "Folder does not exist!"
    End If
End Sub