在offic2016中如何使用VBA代码将制定目录中的工作簿文件(.xlsx和.xls及*.csv)的信息写入新工作表中,信息包含文件名,路径,大小,修改日期,实现代码如下:
Sub GetWorkbookInfo()
Dim folderPath As String
Dim fileName As String
Dim filePath As String
Dim fileSize As Double
Dim fileModifiedDate As Date
Dim newRow As Long
' 设置目标文件夹路径
folderPath = "C:\目标文件夹路径\"
' 创建新工作表
Sheets.Add(After:=Sheets(Sheets.Count)).Name = "文件信息"
' 设置新工作表的列标题
With Sheets("文件信息")
.Range("A1").Value = "文件名"
.Range("B1").Value = "路径"
.Range("C1").Value = "大小"
.Range("D1").Value = "修改日期"
End With
' 初始化新行号
newRow = 2
' 检查目标文件夹是否存在
If Dir(folderPath, vbDirectory) = "" Then
MsgBox "目标文件夹不存在!", vbExclamation
Exit Sub
End If
' 遍历目标文件夹中的所有文件
fileName = Dir(folderPath & "*.xls*")
Do While fileName <> ""
filePath = folderPath & fileName
' 获取文件大小
fileSize = FileLen(filePath)
' 获取文件修改日期
fileModifiedDate = FileDateTime(filePath)
' 将文件信息写入新工作表
With Sheets("文件信息")
.Range("A" & newRow).Value = fileName
.Range("B" & newRow).Value = filePath
.Range("C" & newRow).Value = fileSize
.Range("D" & newRow).Value = fileModifiedDate
End With
' 增加新行号
newRow = newRow + 1
' 继续处理下一个文件
fileName = Dir
Loop
' 自动调整新工作表的列宽
Sheets("文件信息").Columns.AutoFit
MsgBox "文件信息已成功写入新工作表!", vbInformation
End Sub