对于文件夹,显示date上次修改文件超链接到文件旁边的文件

我有一个Excel电子表格,并使用VBA来显示特定文件夹中的文件列表。 VBA也为我创build超链接。 这工作正常。 但是,它不会将上次修改date放在每个超链接旁边的单元格中。

例如,如果TestFold.pdf在单元格A1中 – 我希望在单元格B1(它旁边)中修改此文件的date(超链接)。

我的最终目标是每次将一个新文件夹添加到服务器位置,我可以简单地运行我的VBA,并获取该文件夹中所有文件的列表作为超链接(我已经完成),并在他们旁边的最后修改date。

我的VBA获取文件夹并显示为超链接如下所示:

 Sub Hyperlink() Dim objFSO As Object Dim objFolder As Object Dim objFile As Object Dim i As Integer Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder("S:\Promigen Orders") i = 1 For Each objFile In objFolder.Files Range(Cells(i + 1, 1), Cells(i + 1, 1)).Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _ objFile.Path, _ TextToDisplay:=objFile.Name i = i + 1 Next objFile End Sub 

它可以被添加到这个VBA?

我相信filedatetimefunction是你正在寻找的

编辑

是的,skkakkar的回答甚至更好,我用他的build议编辑我的代码:

 Sub Hyperlink() Dim objFSO As Object, objFolder As Object, objFile As Object Dim i As Integer Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder("S:\Promigen Orders") i = 1 For Each objFile In objFolder.Files Range(Cells(i + 1, 1), Cells(i + 1, 1)).Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _ objFile.Path, TextToDisplay:=objFile.Name Range(Cells(i + 1, 2), Cells(i + 1, 2)) = objFile.DateLastModified i = i + 1 Next objFile End Sub 

只需在代码中添加一行,如下所示

  TextToDisplay:=objFile.Name Range(Cells(i + 1, 2), Cells(i + 1, 2)).Value2 = Format(objFile.DateLastModified, "dd-mmm-yyyy") i = i + 1