VBA для извлечения даты из пути к файлу - PullRequest
0 голосов
/ 13 марта 2019

У меня есть ряд файлов для отслеживания в таблице Excel.Они хранятся в папках по дате.Иногда файл изменяется, а затем повторно отправляется, поэтому путь к файлу является переменным.Формат даты является постоянным «ГГГГ ММ ДД».

Примеры:

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

Как использовать Excel VBA, как извлечь только последнюю дату из пути к файлу?

Ответы [ 2 ]

2 голосов
/ 13 марта 2019

Что будет делать:

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
1 голос
/ 13 марта 2019

УСЛОВИЕ (s) :

  1. последняя дата находится в позиции непосредственно перед \ Final

Рассмотрим:

Sub titan()
    Dim s As String, sDate As String, d As Date

    s = "G:\Inbox\Folder1\Received\2019 03 01\2019 03 02\2019 03 05\Final"
    arr = Split(s, "\")
    sDate = arr(UBound(arr) - 1)
    arr2 = Split(sDate, " ")
    d = DateSerial(arr2(0), arr2(1), arr2(2))
    MsgBox d
End Sub

enter image description here

Разобрать путь к файлу. Возьмите следующий за последним элемент . Преобразовать в дату.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...