我有一个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吗?
答案 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