Заменить папку, если то же имя - PullRequest
0 голосов
/ 29 октября 2019

Я хочу создать папку, в которую я буду сохранять файлы. Если папка с определенным именем уже существует, я хочу заменить эту папку новой пустой. Не знаю, что делать с этим остальным. Я получаю ошибку времени выполнения 75 путь / ошибка доступа к файлу.

Path = "\\ASD\"
d = Format(Date, "yyyymmdd")
f = "NBT Reports "
If Len(Dir(Path & d, vbDirectory)) = 0 Then
MkDir (Path & f & d)
ElseIf ???
End If

1 Ответ

0 голосов
/ 29 октября 2019

Попробуйте что-то вроде этого:

        Sub test()
        Dim strPath As String
            strPath = "\\ASD\"
        Dim d As String
            d = Format(Date, "yyyymmdd")
        Dim f As String
            f = "\NBT Reports"
        Dim Folder As String
            Folder = Dir(strPath & d, vbDirectory)


            If Folder = vbNullString Then
                Debug.Print "Doesnt Exist"

                MkDir strPath
                MkDir strPath & d
                MkDir strPath & d & f
            Else
                Debug.Print "Exists"

                Dim oFSO As Object
                   Set oFSO = CreateObject("Scripting.FileSystemObject")

                oFSO.deletefolder Left(strPath, Len(strPath) - 1)

                    If Dir(Left(strPath, Len(strPath) - 1)) = "" Then
                        MkDir strPath
                        MkDir strPath & d
                        MkDir strPath & d & f
                    End If
            End If
        End Sub

Второе вложенное выражение IF присутствует, потому что oFSO, кажется, зависает при удалении файлов, поэтому, если вы снова зададите вопрос о каталоге, он, кажется, освободит его изатем позволяет вам снова создать каталог.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...