除非注明,文章均为 战战如疯 原创,转载请保留链接: http://www./cat1/279.html,VBA交流群273624828。
今天看到有人问怎么查看一个文件夹中最后修改的文件,文件的最后修改时间是文件的一个属性,那本节就来看看怎么利用VBA来查看文件和文件夹的各种属性。这里我们用的是FileSystemObject对象。假设你的D盘下有一个名称为WWW的文件夹,那来看下怎么查看这个文件夹的大小 、最后修改时间等属性,看代码:
Sub 文件夹属性() Dim fso As Object, f Set fso = CreateObject("scripting.filesystemobject") Set f = fso.GetFolder("d:\WWW") ActiveCell.Offset(0, 0) = "文件类型为:" & f.Attributes ActiveCell.Offset(1, 0) = "文件夹名称为:" & f.Name ActiveCell.Offset(2, 0) = "文件夹短名称为:" & f.ShortName ActiveCell.Offset(3, 0) = "文件夹类型为:" & f.Type ActiveCell.Offset(4, 0) = "文件夹所在驱动器名为:" & f.Drive ActiveCell.Offset(5, 0) = "文件夹是否为短名称:" & f.IsRootFolder ActiveCell.Offset(6, 0) = "上层文件夹为:" & f.ParentFolder ActiveCell.Offset(7, 0) = "文件夹路径为:" & f.Path ActiveCell.Offset(8, 0) = "文件夹短名称路径为:" & f.ShortPath ActiveCell.Offset(9, 0) = "文件夹大小为:" & Int(f.Size / 1024 ^ 2) & "M" ActiveCell.Offset(10, 0) = "文件夹创建时间为:" & f.DateCreated ActiveCell.Offset(11, 0) = "文件夹最后一次修改时间为:" & f.DateLastModified ActiveCell.Offset(12, 0) = "文件夹最后一次访问时间为:" & f.DateLastAccessed End Sub
DateLastModified就是文件最后修改时间,Size是指大小,单位是B,换算成M需要除以1024的平方。
下面再看关于文件的操作
Sub 文件属性() Dim fso As Object, f Set fso = CreateObject("scripting.filesystemobject") Set f = fso.GetFile("d:\test.txt") ActiveCell.Offset(0, 0) = "文件属性为:" & f.Attributes ActiveCell.Offset(1, 0) = "文件名称为:" & f.Name ActiveCell.Offset(2, 0) = "文件短名称为:" & f.ShortName ActiveCell.Offset(3, 0) = "文件类型为:" & f.Type ActiveCell.Offset(4, 0) = "文件所在驱动器名为:" & f.Drive ActiveCell.Offset(5, 0) = "上层文件夹为:" & f.ParentFolder ActiveCell.Offset(6, 0) = "文件路径为:" & f.Path ActiveCell.Offset(7, 0) = "文件短名称路径为:" & f.ShortPath ActiveCell.Offset(8, 0) = "文件大小为:" & Int(f.Size / 1024) & "K" ActiveCell.Offset(9, 0) = "文件创建时间为:" & f.DateCreated ActiveCell.Offset(10, 0) = "文件最后一次修改时间为:" & f.DateLastModified ActiveCell.Offset(11, 0) = "文件最后一次访问时间为:" & f.DateLastAccessed
End Sub
文件的属性基本和文件夹一样,不再赘述,有了上面的演示不管你想要文件的哪种属性都可以信手拈来了。
|