【问题标题】:How to use date format in a path to copy files如何在路径中使用日期格式来复制文件
【发布时间】: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


【解决方案1】:

你的代码

CopyData "E:\From\", "D:\To\ & Format(Date, 'dd-mm-yyyy')& '\'"

将两个参数传递给CopyData。第一个参数是E:\From\,第二个参数是D:\To\ & Format(Date, 'dd-mm-yyyy')& '\'

如果您将该代码更改为

CopyData "E:\From\", "D:\To\" & Format(Date, "dd-mm-yyyy") & "\"

那么传递的两个参数将是 E:\From\ 和(假设今天是 2016 年 12 月 31 日)D:\To\31-12-2016\,我相信这就是你想要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多