繁体   English   中英

如何从 VBA 的多列列表框中的文件夹中填充多个文件的文件名和修改日期?

[英]How do I populate File Names and Date Modified of multiple files from a Folder in a multi column ListBox in VBA?

我的文件夹中有许多文件。 我需要一个 2 列的列表框。

第一列应显示文件夹中的文件名列表。

第二列应显示这些文件名的相应修改数据。

这是为我正确填充文件名的代码:

'CLEAR LISTBOX
ListBox1.Clear

'BUILD A LIST OF ALL FILES
FileName = Dir(FilePath & "*" & "*")
While FileName <> ""


'ADD FILE NAMES TO THE LIST
I = I + 1
ReDim Preserve FileList(1 To I)
FileList(I) = FileName


'GET NEXT FILENAMES
FileName = Dir()
Wend


'WERE ANY FILES FOUND
If I = 0 Then
MsgBox "No files found!"
Exit Sub
End If


'CYCLE THROUGH LIST AND ADD TO LISTBOX
For I = 1 To UBound(FileList)
Me.ListBox1.AddItem FileList(I)
Next

我建议使用 FileSystemObject,因为您可以直接访问该属性。 您还可以获得文件数量的计数,因此您可以在填充数组之前对其进行尺寸标注。

我使用 Microsoft Scripting Runtime 的早期绑定编写了以下代码,但如果需要,您当然可以使用后期绑定。

    Dim FSO As FileSystemObject
    Dim FO As Folder, FI As File, FIs As Files

    'Don't forget to declare FilePath as in your code

    Dim FileList()
    Dim I As Long

Set FSO = New FileSystemObject
Set FO = FSO.GetFolder(FilePath)
Set FIs = FO.Files

ReDim FileList(1 To FIs.Count, 1 To 2)
I = 0

'Populate the FileList array
For Each FI In FIs
    I = I + 1
    FileList(I, 1) = FI.Name
    FileList(I, 2) = FI.DateLastModified
Next FI

'Clear the ListBox
'Then declare the number of columns and populate it
With Me.ListBox1
    .Clear
    .ColumnCount = 2
    .List = FileList
End With


暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM