Я пытаюсь установить макрос, который будет перемещать файл из определенной папки в другую. Если этот файл уже существует, он отобразит окно сообщения, если файл из другой папки уже существует в папке. Вот проблема ..
Я думаю, что первая ошибка здесь:
StrFile = Dir
Вот ошибка, она отображает мне код ошибки: 5 Неверный аргумент или вызов процедуры
И исключительный вывод этого строчного кода - перейти к следующему файлу, чтобы просмотреть все мои файлы .Pdf по одному
Sub MooveFile()
Dim filepath As String
Dim currfile As String
Dim NomFichier As String
Dim Direction As String
Dim StrFile As String
Dim FSO As Object
Dim SourceFileName As String, DestinFileName As String
StrFile = Dir(ActiveWorkbook.Path & "\" & "*.PDF")
Do While Len(StrFile) > 0
Direction = Split(StrFile, " ")(0)
Set FSO = CreateObject("Scripting.Filesystemobject")
SourceFileName = ActiveWorkbook.Path & "\" & StrFile
Set FoundRange = Sheets("Path").Cells.Find(what:=Direction, LookIn:=xlFormulas, lookat:=xlWhole)
If FoundRange Is Nothing Then 'Here is the test if the folder exist : WORKING
On Error Resume Next
MkDir ActiveWorkbook.Path & "\" & Direction
DestinFileName = ActiveWorkbook.Path & "\" & Direction & "\" & StrFile
FSO.MoveFile Source:=SourceFileName, Destination:=DestinFileName
Else 'If Folder exist : WORKING
DestinFileName = ActiveWorkbook.Path & "\" & Direction & "\" & StrFile
If Dir(SourceFileName) <> "" Then 'IF File exist then display the message box : WORKING
Select Case MsgBox("le fichier" & SourceFileName & "existe déjà voulez-vous le remplacer", vbAbortRetryIgnore)
Case vbAbort
' Cancel the operation.
MsgBox "Operation canceled"
Case vbRetry
' Continue the Do loop to try again.
FSO.DeleteFile DestinFileName, True
FSO.MoveFile Source:=SourceFileName, Destination:=DestinFileName
Case vbIgnore
' Take a default action.
GoTo nextline
End Select
Else
FSO.MoveFile Source:=SourceFileName, Destination:=DestinFileName
End If
'FSO.MoveFile Source:=SourceFileName, Destination:=DestinFileName
End If
nextline:
StrFile = Dir 'This line code is not working at : Error code 5 :Invalid argument or procedure call
Loop 'Fin Boucle
Application.ScreenUpdating = True
End Sub
Я что-то здесь упустил? Я уже пробовал StrFile = Dir()