Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 将创建的文件日期添加到列表_Vba_Excel_Macros - Fatal编程技术网

Vba 将创建的文件日期添加到列表

Vba 将创建的文件日期添加到列表,vba,excel,macros,Vba,Excel,Macros,我一直在尝试编辑一段代码,其中列出了所有子文件夹中的所有文件,同时也给出了在下一列中创建的日期,但我不确定如何创建。下面是我正在使用的代码:它可以很好地获取文件路径,但不能获取文件datecreated Sub startIt() Dim FileSystem As Object Dim HostFolder As String HostFolder = "C:\folderthing" Set FileSystem = CreateObject("Scripti

我一直在尝试编辑一段代码,其中列出了所有子文件夹中的所有文件,同时也给出了在下一列中创建的日期,但我不确定如何创建。下面是我正在使用的代码:它可以很好地获取文件路径,但不能获取文件datecreated

 Sub startIt()

   Dim FileSystem As Object
   Dim HostFolder As String

   HostFolder = "C:\folderthing"

   Set FileSystem = CreateObject("Scripting.FileSystemObject")
   DoFolder FileSystem.GetFolder(HostFolder)

 End Sub

 Sub DoFolder(Folder)


    Dim SubFolder
    For Each SubFolder In Folder.SubFolders
      DoFolder SubFolder
    Next

    i = Cells(Rows.Count, 1).End(xlUp).Row + 1
    Dim File
    For Each File In Folder.Files
      ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), Address:= _
          File.Path, TextToDisplay:=File.Path
      ActiveSheet.Add TextToDisplay:=File.DateCreated

      i = i + 1

    Next


End Sub
如果要在列B中输入日期,则:

Sub startIt()

   Dim FileSystem As Object
   Dim HostFolder As String

   HostFolder = "C:\TestFolder"

   Set FileSystem = CreateObject("Scripting.FileSystemObject")
   DoFolder FileSystem.GetFolder(HostFolder)

 End Sub

 Sub DoFolder(Folder)


    Dim SubFolder
    For Each SubFolder In Folder.SubFolders
      DoFolder SubFolder
    Next

    i = Cells(Rows.Count, 1).End(xlUp).Row + 1
    Dim File
    For Each File In Folder.Files
      ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), Address:= _
          File.Path, TextToDisplay:=File.Path
      Cells(i, 2).Value = File.DateCreated

      i = i + 1

    Next


End Sub

您是否尝试过
FileDateTime(路径名)
?我刚试过这个剧本。ActiveSheet行失败,出现错误。记住这一点,效果很好。因此,我将该行更改为:Range(“A1”)=File.DateCreated。这给了我最后一次读到的日期。我认为你的问题出在ActiveSheet.Add上。正如@durbnpoisin所说,我认为你需要将这一行
ActiveSheet.Add TextToDisplay:=File.DateCreated
替换为这个
单元格(I,2).value=File.DateCreated
不管具体问题如何,这是一个简洁的代码,可以用于制作音乐、图片和音乐的目录,还有视频文件,该死的。这正是我要发布的解决方案。@durbnpoisin这并不奇怪…………IIJHFII提出问题的方式(代码中只有一行错误)将推动一种常见的回答方法。我只是觉得很有趣。我做了和你一样的事。在Excel中重建它并找到一种有效的方法。至少我现在知道当Excel读取我的整个“工作”文件夹时它是什么样子了。