读取ZIP压缩包中的文件信息,通常思路需要先解压,然后再访问文件信息,其实大可不必这么麻烦,无需解压ZIP压缩包就可以提取相关信息。
示例ZIP文件如下,其中有4个文件。
示例代码如下:
Sub Demo()
Dim objShell, sZip, it
sZip = "C:\Temp\data.zip"
Set objShell = CreateObject("Shell.Application")
For Each it In objShell.Namespace(sZip).items
Debug.Print it.Name, it.ModifyDate, it.Size, it.Type
Next
Set objShell = Nothing
End Sub
运行结果如下:
【代码解析】
第4行代码使用后期绑定方式创建Shell对象。
第5~7行代码循环遍历压缩包中的对象。
第6行代码输出相关信息。
属性 | 含义 |
---|---|
Name | 文件名称 |
ModifyDate | 创建时间戳 |
Size | 原始文件大小 |
Type | 文件lex |
第8行代码释放系统资源。
代码简洁快速,省去了解压和清理临时文件的额外工作。