3
我正在使用下面的代碼循環訪問目錄中的'.csv'文件並將它們移動到新目錄(strRootDir和strTargetDir是已啓動的局部變量):使用FSO的VBA移動文件夾使文件夾保持使用
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」我得到一個錯誤信息,說文件夾正在被另一個程序使用。
如何阻止這種情況發生?
哇!謝謝。這兩種方法都很好。對它們進行計時並將名稱file1作爲file2大約快50%。 – GreenyMcDuff