VBA实用小程序70:获取压缩文件中指定文件的修改日期

2021-03-12 16:51:47 浏览数 (1)

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")

获取该文件的修改日期时间。当然,你需要设置该单元格的格式,以正确显示日期时间。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

vba

0 人点赞