VBA实用小程序70:获取压缩文件中指定文件的修改日期
excelperfect
引言:这是在chandoo.org的Forums中看到的一个VBA自定义函数,很有意思,特辑录于此,供有兴趣的朋友学习参考。
有时候,可能需要一个能够返回压缩文件(.zip文件)的特定文件夹中某文件修改的日期时间。当然,你可以将这个压缩文件解压缩,然后导航到该文件,查看其修改的日期时间。然而,使用几句VBA代码,就能快速获得指定文件的修改日期时间。
下面是获取压缩文件中指定文件修改日期时间的一个VBA自定义函数:
Function ZipFDT(Z, F) As Date
On Error Resume Next
ZipFDT =CreateObject('Shell.Application').Namespace(Z).ParseName(F).ModifyDate
End Function
其中:
参数Z,用来指定压缩文件所在的路径。
参数F,用来指定压缩文件中要获取修改日期时间的文件的路径。
例如,在C盘中有一个名为FolderFile.zip的压缩文件,该压缩文件中有一个名为Folder3的文件夹,该文件夹中有一个名为folder3Myfile3.csv的文件,我们要获取该文件的修改日期时间。
在VBA编辑器中输入上述自定义函数ZipFDT后,可以使用代码调用该函数,以获取文件folder3Myfile3.csv的修改日期时间,代码如下:
Sub test()
Debug.Print ZipFDT('C:\FolderFile.zip', 'Folder3\folder3Myfile3.csv')
End Sub
运行test过程后,在立即窗口中可以显示该文件的修改日期时间。
也可以像使用Excel内置函数一样在工作表单元格中输入:
=zipfdt('C:\FolderFile.zip','Folder3\folder3 Myfile3.csv')
获取该文件的修改日期时间。当然,你需要设置该单元格的格式,以正确显示日期时间。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。
赞 (0)