首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取LastModified日期VBA所需的时间更长

获取LastModified日期VBA所需的时间更长
EN

Stack Overflow用户
提问于 2018-04-09 13:12:18
回答 1查看 105关注 0票数 0

我使用下面的代码从共享文件夹中获取文件的最后修改日期时间。

代码语言:javascript
运行
复制
Public Sub CountTextFilesInFolder()
FolderPath = "\\SVTickets\"
Count = 0
If Right(FolderPath, 1) = "\" Then
    SourcePath = FolderPath
    SourcPath = SourcePath & "*.txt"
ElseIf Right(FolderPath, 1) <> "\" Then
    SourcePath = FolderPath
    SourcPath = SourcePath & "*.txt"
End If

FileName = Dir(SourcPath)
Do While FileName <> ""
    DateTim = FileDateTime(SourcePath & FileName)
    If Format(DateTim, "YYYYMMDD") = Format(Date, "YYYYMMDD") Then
        Count = Count + 1
    End If
    FileName = Dir()
Loop
End Sub

可以有人建议如何才能提高上述代码的性能。该文件夹中有7k个文件,运行起来需要几个小时。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-04-09 13:49:00

命令行?下面的代码将详细信息写出到“即时”窗口。C:\Users\User\Desktop\TestFolder是要循环的文件夹,您可以在该文件夹上提取出一个变量。如果有很多文件你不会数组,但是可以将debug.print直接写到工作表中。

代码语言:javascript
运行
复制
Option Explicit

Public Sub Find_Files()

    Dim fileDetails() As String
    fileDetails = Split(CreateObject("wscript.shell").exec("cmd /c cd C:\Users\User\Desktop\TestFolder && for /f %a in ('dir /b *.txt') do @echo %a %~ta").stdout.readall, vbCrLf)

    Dim i As Long
    For i = LBound(fileDetails) To UBound(fileDetails)
        If Not IsEmpty(fileDetails(i)) Then Debug.Print fileDetails(i)
    Next i

End Sub

网络驱动器的混乱版本:

代码语言:javascript
运行
复制
Option Explicit

Public Sub Find_Files()
    Dim folderpath As String
    Dim drive As String
    folderpath = "\Folder1\Folder2\TestFolder"
    drive = "R:"
    Dim fileDetails() As String
    fileDetails = Split(CreateObject("wscript.shell").exec("cmd /c cd /D " & drive & " && cd " & folderpath & " && for /f %a in ('dir /b *.txt') do @echo %a %~ta").stdout.readall, vbCrLf)

    Dim i As Long
    For i = LBound(fileDetails) To UBound(fileDetails)
        If Not IsEmpty(fileDetails(i)) Then Debug.Print fileDetails(i)
    Next i

End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49725968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档