excelperfect
引言:这是在chandoo.org的Forums中看到的一个VBA自定义函数,很有意思,特辑录于此,供有兴趣的朋友学习参考。
有时候,可能需要一个能够返回压缩文件(.zip文件)的特定文件夹中某文件修改的日期时间。当然,你可以将这个压缩文件解压缩,然后导航到该文件,查看其修改的日期时间。然而,使用几句VBA代码,就能快速获得指定文件的修改日期时间。
下面是获取压缩文件中指定文件修改日期时间的一个VBA自定义函数:
代码语言:javascript复制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的修改日期时间,代码如下:
代码语言:javascript复制Sub test()
Debug.Print ZipFDT("C:FolderFile.zip", "Folder3folder3Myfile3.csv")
End Sub
运行test过程后,在立即窗口中可以显示该文件的修改日期时间。
也可以像使用Excel内置函数一样在工作表单元格中输入:
=zipfdt("C:FolderFile.zip","Folder3folder3 Myfile3.csv")
获取该文件的修改日期时间。当然,你需要设置该单元格的格式,以正确显示日期时间。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。