Как открыть файл за последний финансовый месяц? - PullRequest
0 голосов
/ 17 марта 2020

У меня есть строка кода, чтобы открыть рабочую книгу на основе указанной строки dt.

Const filename = "Labor_Data_"
Const basepath = "C:\Users\CDL File"
Dim wbPreviousData as workbook
Dim dt As String: dt = Format(DateAdd("m", -1, Now), "mm_yyyy")

, а затем я открываю файл предыдущих месяцев с помощью:

Set wbPreviousData = Workbooks.Open(basepath & "\" & filename & dt & ".xlsx")

Но я понимаю, что финансовый календарь моей компании иногда может длиться 5 недель, например (с последней недели марта до первой недели мая)

Есть ли простой способ обновить мой код, чтобы он ссылался на последний месяц, сохраненный в указанном пути к файлу?

1 Ответ

1 голос
/ 17 марта 2020

Вы должны отсканировать все файлы в каталоге, чтобы найти последние


Sub findlatest()

    Const filename = "Labor_Data_"
    Const basepath = "C:\Users\CDL File"

    Dim file As String, absfile As String
    Dim latest As String, ts As Double, tsmax As Double

    file = Dir(basepath & "\" & filename * "*")
    Do While Len(file) > 0

       ' check timestamp
       absfile = basepath & "\" & file
       ts = CDbl(FileDateTime(absfile))

       If ts > tsmax Then
          tsmax = ts
          latest = file
       End If

       file = Dir
    Loop

    Debug.Print latest

End Sub

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