Я пишу код, который предлагает пользователю добавить имя папки, а затем скопировать все файлы на CD-привод (D :) в C:\Example\ & FolderName
, если он еще не существует.Ошибка при копировании файлов в существующую папку
Код работает до тех пор, пока я не попытаюсь скопировать файлы в папку, которая уже существует, тогда я получаю Run-time error 70: Permission Denied
. Любая помощь будет принята с благодарностью.
Public Sub CopyFiles()
Dim FSO As Object
Dim FromPath As String
Dim ToPath As String
Dim FileExt As String
Dim FNames As String
Dim FolderName As String
FolderName = InputBox(Prompt:="Your folder name", Title:="Folder Name", default:="Folder Name here")
If Dir("C:\Example\" & FolderName & "\", vbDirectory) = "" Then
MkDir "C:\Example\" & FolderName
Else
End If
FromPath = "D:\"
ToPath = "C:\Example\" & FolderName & "\"
FileExt = "*.flac*"
If Right(FromPath, 1) <> "\" Then
FromPath = FromPath & "\"
End If
FNames = Dir(FromPath & FileExt)
If Len(FNames) = 0 Then
MsgBox "No files in " & FromPath
Exit Sub
End If
Set FSO = CreateObject("scripting.filesystemobject")
FSO.CopyFile Source:=FromPath & FileExt, Destination:=ToPath
End Sub
В случае, если это не 'MkDir "P: \ Пример \" & FolderName' быть' MkDir "C: \ Пример \" & FolderName' –
Чтобы избежать таких ошибок, определите переменную в верхней части, которая будет содержать путь, а затем вы можете использовать эту переменную где угодно. И если в следующий раз вам придется изменить значение, вам придется сделать это только в одном месте ... –
Да, @SiddharthRout моя ошибка. Я просто менял код на что-то общее с моих реальных дисков, поэтому я исправлю это в вопросе. Проблема все еще существует, хотя я советую вам создать переменную, которая '= C: \ Example \' – blahblahblah