我正在尝试将文件从一个文件夹移动到另一个文件夹,并对该文件进行系统内部的验证(到目前为止很好),但是VBA会显示Error 53
(找不到文件),但是在使用时Debug.Print
,目录和文件是正确的,而且我显然也已经在文件夹中找到该文件。
文件名:
DRIP_SJ0187C3_AZUL_RETANGULO_FEM_RX_52_139_MODELO.jpg
文件夹:
C:\OCULOS
Debug.Print结果:C:\OCULOS\DRIP_SJ0187C3_AZUL_RETANGULO_FEM_RX_52_139_MODELO.jpg
VBA代码:
Sub MoveFile()
Dim FSO As Object
Dim Source, Path, File As String
Dim i As Integer
Dim rng As Range, cell As Range
Dim SourceFile As String
Set FSO = CreateObject("Scripting.FileSystemObject")
Set rng = Planilha2.Range("E2:E1048576")
Source = "C:\OCULOS\"
Path= "C:\OCULOS_SEM_ESTOQUE\"
For Each cell In rng
i = i + 1
If Planilha2.Cells(i, 5) = 0 Then
File = Planilha2.Cells(i, 1).Value
SourceFile= Source & File
Debug.Print SourceFile
FSO.MoveFile Source:=SourceFile, Destination:=Path
End If
Next cell
End Sub
答案 0 :(得分:0)
最终代码:
Sub MoveFile()
Dim FSO As Object
Dim Source, Path, File As String
Dim i As Long
Dim rng As Range, cell As Range
Dim SourceFile As String
Set FSO = CreateObject("Scripting.FileSystemObject")
Set rng = Planilha2.Range("E2:E1048576")
Source = "C:\OCULOS\"
Path = "C:\OCULOS_SEM_ESTOQUE\"
For Each cell In rng
i = i + 1
If Planilha2.Cells(i, 5) = 0 Then
File = Planilha2.Cells(i, 1).Value
SourceFile = Source & File
' Debug.Print Dir(SourceFile)
' Debug.Print File
FSO.MoveFile Source:=SourceFile, Destination:=Path
End If
Next cell
End Sub