我编写了一个Excel宏来将pdf文件从源文件夹复制到目标文件夹。我现在正在尝试将Do循环合并到宏中,以便我可以移动多个文件,每个文件都在一个单独的单元格中识别。此外,要移动的文件数量也会有所不同。
当我使用命令行
时sFile = Range("G14").Value & ".pdf"
它会将单元格G14中列出的文件复制到目标文件夹。但是,我没有运气使用Do Loop
和sFiles = Cells (I,7)
来增加我要移动的一系列文件名。宏观在最后一步爆炸。
任何建议都将不胜感激。
Sub Copying_File()
Sheets("Sheet1").Select
I = 8
Do
I = I + 1
If Cells(I, 7) = "zzzz" Then Cells(I, 8) = "Transfer of Files Complete"
If Cells(I, 7) = "zzzz" Then Exit Do
'Declare Variables
Dim FSO
Dim sFile As String
Dim sSFolder As String
Dim sDFolder As String
'This is Your File Name which you want to Copy
sFile = Cells(I, 7).Value & ".pdf"
'Change to match the source folder path
sSFolder = "I:\PatschB\ZZZ Source\"
'Change to match the destination folder path
sDFolder = "I:\PatschB\ZZZ Destination\"
'Create Object
Set FSO = CreateObject("Scripting.FileSystemObject")
'Copying File to Destination Folder
FSO.CopyFile (sSFolder & sFile), sDFolder
Loop
End Sub
答案 0 :(得分:1)
CopyFile
需要两个完整路径 - 两者都应包含文件名
答案 1 :(得分:0)
尝试替换此行:
FSO.CopyFile (sSFolder & sFile), sDFolder
这一行:
FSO.CopyFile sSFolder & sFile, sDFolder