【发布时间】:2022-01-08 20:46:29
【问题描述】:
因此,我从字面上向我展示了方法,包括有关如何明智地实现我的手段 VBA 的代码,我得到了很大的帮助。现在我真的处于最后阶段,不明白为什么我不能将文件移动到创建的文件夹中。我每次都遇到不匹配错误。目的是创建一个以文件前缀命名的文件夹,如果它不存在(这似乎工作)并将文件复制到该文件夹(我得到不匹配错误)这里是代码:
Sub loopf()
Dim AcceptedPrefixes As Object
Set AcceptedPrefixes = CreateObject("Scripting.Dictionary")
Dim PrefixRange As Range
Set PrefixRange = ThisWorkbook.Sheets(1).Range("B2:B368")
Dim Cell As Range
For Each Cell In PrefixRange.Cells
If Cell <> "" And Not AcceptedPrefixes.exists(Cell.Value) Then
AcceptedPrefixes.Add CStr(Cell.Value), 0
End If
Next
Dim Directory As String
Directory = "C:\TEST\"
Dim fsoFSO
Set fsoFSO = CreateObject("Scripting.FileSystemObject")
Dim filen As Variant
filen = Dir(Directory)
While filen <> ""
Dim FilePrefix As String
FilePrefix = "" & (Split(filen, "_")(0)) & ""
If Not AcceptedPrefixes.exists(FilePrefix) Then
Kill Directory & filen
Else
If fsoFSO.FolderExists("C:\TEST\" & FilePrefix) Then
'DO NOTHING
Else: fsoFSO.CreateFolder ("C:\TEST\" & FilePrefix) 'ELSE CREATE A FOLDER
fso.MoveFile "C:\TEST\ & Filen", "C:\TEST\ & FilePrefix&" \ "" ' HERE i WANT TO MOVE THE FILES TO TRHE CREATED FOLDER OR EXISTING FOLDER
End If
End If
filen = Dir
Wend
End Sub
【问题讨论】:
-
"C:\TEST\ & Filen" 需要是 "C:\TEST\" & Filen 和第二个 "C:\TEST\" & FilePrefix & "\"
-
我按照建议做了,在运行代码并进入“fsoMoveFile”行并得到“运行时错误 424”之前没有出现任何错误