Я использую приведенный ниже код для циклического перебора файлов .csv в каталоге и их перемещения в новый каталог (strRootDir и strTargetDir - это локальные переменные, которые были инициированы):
Dim objFile As file
Dim objFSO As FileSystemObject: Set objFSO = New FileSystemObject
Dim objFolder As Folder: Set objFolder = objFSO.GetFolder(strRootDir)
For Each objFile In objFolder.Files
If InStr(1, objFile.Name, ".csv") Then
FileFolderExists strTargetDir, True
objFile.Move (strTargetDir)
End If
Next objFile
Set objFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
Где метод FileFolderExists определяется как:
Public Sub FileFolderExists(strFullPath As String, bMkDir As Boolean)
Dim bExists As Boolean
If Not Dir(strFullPath, vbDirectory) = vbNullString Then bExists = True
If Not bExists And bMkDir Then MkDir strFullPath
End Sub
Мой вопрос в том, что после завершения этого процесса, если я попытаюсь удалить каталог strTargetDir, я получаю сообщение об ошибке, в котором говорится, что папка используется другой программой.
Как мне этого не допустить?