【发布时间】:2018-12-17 00:00:04
【问题描述】:
我正在尝试创建一个 vba 宏,它将复制包含多个子文件夹的源文件夹中的所有 excel 文件。这些文件需要复制到一个目标文件夹(不包括子文件夹)。
到目前为止,我已设法将包括子文件夹在内的整个文件夹复制到目标文件夹。如何编辑我的代码,使其仅复制 .xls 文件并粘贴它们而无需子文件夹。
Sub PerformCopy()
==================== call ================================
MkDir "DestinationPath"
CopyFiles "Source Path With All Subfolders" & "\", "DestinationPath" & "\"
==================== Copy sub ===========================
End Sub
Public Sub CopyFiles(ByVal strPath As String, ByVal strTarget As String)
Dim FSO As Object
Dim FileInFromFolder As Object
Dim FolderInFromFolder As Object
Dim Fdate As Long
Dim intSubFolderStartPos As Long
Dim strFolderName As String
Set FSO = CreateObject("scripting.filesystemobject")
'First loop through files
For Each FileInFromFolder In FSO.GetFolder(strPath).Files
Fdate = Int(FileInFromFolder.DateLastModified)
'If Fdate >= Date - 1 Then
FileInFromFolder.Copy strTarget
'end if
Next
'Next loop throug folders
For Each FolderInFromFolder In FSO.GetFolder(strPath).SubFolders
'intSubFolderStartPos = InStr(1, FolderInFromFolder.Path, strPath)
'If intSubFolderStartPos = 1 Then
strFolderName = Right(FolderInFromFolder.PATH, Len(FolderInFromFolder.PATH) - Len(strPath))
MkDir strTarget & "\" & strFolderName
CopyFiles FolderInFromFolder.PATH & "\", strTarget & "\" & strFolderName & "\"
Next 'Folder
End Sub
【问题讨论】: