[英]updating file into one folder's subfolders vba
我想使用excel VBA更新当前子文件夹中的文件。 第一步是在子文件夹中查找文件名。 将它们全部列在另一张表中,这样我就可以保留日志。 复制并用新文件覆盖文件,因此我的所有文件夹和子文件夹都将更新为新文件。
source
D:\home
destination
D:\dest\cus1\...
我目前正在使用下面的代码,但是我至少需要改进循环或任何新算法。 你能帮忙吗?
Sub sbCopyingAllExcelFiles()
Dim FSO
Dim sFolder As String
Dim dFolder As String
sFolder = "c:\Users\osmanerc\Desktop\STATUS\" ' change to match the source folder path
dFolder = "\\manfile\ELEKTRONIK\MUSTERI DESTEK\ECN management\" ' change to match the destination folder path
Set FSO = CreateObject("Scripting.FileSystemObject")
If Not FSO.FolderExists(sFolder) Then
MsgBox "Source Folder Not Found", vbInformation, "Source Not Found!"
ElseIf Not FSO.FolderExists(dFolder) Then
MsgBox "Destination Folder Not Found", vbInformation, "Destination Not Found!"
Else
FSO.CopyFile (sFolder & "\*.xl*"), dFolder
MsgBox "Successfully Copied All Excel Files to Destination", vbInformation, "Done!"
End If
End Sub
因此,这应该能够从您的源中复制所有与Like sFolder & "\\*.xl*"
模式匹配的文件。 如果您有更多文件夹可以使用,则可以添加更多呼叫。
Sub sbCopyingAllExcelFiles()
Call SafeCopy("c:\Users\osmanerc\Desktop\STATUS\", "\\manfile\ELEKTRONIK\MUSTERI DESTEK\ECN management\")
'Call SafeCopy("another source folder", "another destination folder")
'Add more function calls as necessary
End Sub
Function SafeCopy(ByVal sFolder As String, ByVal dFolder As String)
Dim count As Integer
Dim FSO As Object
Dim Folder As Object
Dim File As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
If Not FSO.FolderExists(sFolder) Then
MsgBox "Source Folder Not Found: " & vbCrLf & sFolder, vbInformation, "Source Not Found!"
Exit Function
ElseIf Not FSO.FolderExists(dFolder) Then
MsgBox "Destination Folder Not Found: " & vbCrLf & dFolder, vbInformation, "Destination Not Found!"
Exit Function
Else
Set Folder = FSO.GetFolder(sFolder)
For Each File In Folder.Files
If File.Name Like sFolder & "\*.xl*" Then
FSO.CopyFile File.path, dFolder
count = count + 1
End If
Next
MsgBox "Copied " & count & "files to destination", vbInformation, "Copy Successful"
End If
End Function
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.