【发布时间】:2017-05-14 20:07:59
【问题描述】:
我编写了一个将文件复制到“当前日期”文件夹的代码。所以,我想在文件路径中使用日期CopyData "E:\From\", "D:\To\ & Format(Date, 'dd-mm-yyyy')& '\'"这怎么可能?
我的代码如下:
Public Sub PerformCopy()
MkDir "D:\To\" & Format(Date, "dd-mm-yyyy")
CopyData "E:\From\", "D:\To\ & Format(Date, 'dd-mm-yyyy')& '\'"
End Sub
Public Sub CopyData(ByVal FromPath As String, ByVal ToPath As String)
Dim FSO As Object
Dim Fdate As Date
Dim FileInFromFolder As Object
Dim FolderInFromFolder As Object
Set FSO = CreateObject("scripting.filesystemobject")
'First loop through files
For Each FileInFromFolder In FSO.getfolder(FromPath).Files
Fdate = Int(FileInFromFolder.DateLastModified)
If Fdate >= Date - 3 Then
FileInFromFolder.Copy ToPath
End If
'Next loop throug folders
For Each FolderInFromFolder In FSO.getfolder(FromPath).SubFolders
CopyData FolderInFromFolder.Path, ToPath
Next FolderInFromFolder
Next
End Sub
【问题讨论】:
-
您能详细介绍一下文件夹结构吗?按照您的示例,在
E:\From\中,您将每个文件都放在一个目录中,或者该文件夹可能有子文件夹?在D:\To\中,您希望将所有内容都放在以今天的数据命名的子文件夹中,对吧? -
文件夹
E:\From\有子文件夹,所以我想将所有子文件夹中的文件复制到D:\To\文件夹中。 -
请检查我在这篇文章中的方法是否适合您stackoverflow.com/questions/41345805/…
-
要执行这样的批处理有VBScript
标签: excel file-copying vba