对于文件夹,显示超链接到文件的单元格旁边的文件的上次修改日期

时间:2015-10-21 08:08:06

标签: excel vba excel-vba hyperlink

我有一个Excel电子表格,并使用VBA显示特定文件夹中的文件列表。 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 在单元格A1中 - 我希望在单元格B1(旁边)中最后修改此文件(超链接)的日期。

我的最终目标是每次将新文件夹添加到服务器位置时,我只需运行我的VBA并获取该文件夹中所有文件的列表作为超链接(我已经完成)以及上次修改日期在他们旁边。

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

{{1}}

可以添加到此VBA吗?

2 个答案:

答案 0 :(得分:1)

我相信filedatetime功能是您正在寻找的功能

修改

是的,skkakkar的答案更好,我根据他的建议编辑了我的代码:

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

答案 1 :(得分:1)

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

s