首页 > 解决方案 > VBA从文件路径中提取日期

问题描述

我有一系列文件要在 Excel 电子表格中跟踪。它们按日期存储在文件夹中。有时文件被更改,然后重新提交,因此文件路径名是可变的。日期格式为常量“YYYY MM DD”。

例子:

G:\Inbox\Folder1\Received\2019 03 01\Final
G:\Inbox\Folder1\Received\2019 03 01\2019 03 02\2019 03 05\Final

使用 excel VBA,如何仅从文件路径中提取最后一个日期?

标签: excelvbadate

解决方案


那会做:

Sub test()

Dim MyPath As String, mps As Variant, mps_temp As String, mydate As Date, i As Integer

MyPath = "G:\Inbox\Folder1\Received\2019 03 01\2019 03 02\2019 03 05\Final"
mps = Split(MyPath, "\")

For i = LBound(mps) To UBound(mps)
    mps_temp = mps(UBound(mps) - i)
    If mps_temp Like "#### ## ##" Then
        mydate = DateSerial(Mid(mps_temp, 1, 4), Mid(mps_temp, 6, 2), Mid(mps_temp, 9, 2))
        Exit For
    End If
Next

msgbox mydate 

End Sub

推荐阅读