Как найти самый обновленный файл и изменить имя файла на стандартное - PullRequest
2 голосов
/ 17 октября 2019

У нас есть ежедневный отчет, отправляемый в папку, а затем на следующий день наш координатор сгенерирует сводку по запросу данных, соединяющую самый обновленный файл с мастер-файлом.

Но файл имеет метку времени, и мы не смогли найти способ включить метку времени во встроенный запрос данных Excel.

Я использую Excel VBA, чтобы найти самый обновленный отчет и изменить имя файла на стандартное имя. Вот мой код:

Sub ChangeName()

    Dim folderPath As String, tableName As String, latestTblName As String
    Dim latestModified As Date, modifiedDate As Date
    folderPath = " F:\Purchasing\Supply Chain Reports\IMAP Reports\"
    tableName = Dir(folderPath & "*.xlsx")

    Do While tableName <> vbNullString
        modifiedDate = FileDateTime(folderPath & tableName)
        If latestModified < modifiedDate Then
           latestModified = modifiedDate
           latestTblName = tableName
        End If
           tableName = Dir()
    Loop
    Workbooks.Open folderPath & latestTblName
    Rows("0:6").Delete
    Kill "F:\Purchasing\Supply Chain Reports\IMAP Reports\ InvoiceQueryReport.xlsx"
    Dim thisWb As Workbook
    Set thisWb = ActiveWorkbook
    MyOldName = ActiveWorkbook.FullName
    MyNewName = "InvoiceQueryReport.xlsx" & ActiveWorkbook.Name
    ActiveWorkbook.SaveAs Filename:="F:\Purchasing\Supply Chain Reports\IMAP Reports\" & MyNewName
    Kill MyOldName

End Sub

Проблема в том, что, во-первых, у меня была ошибка в TableName, также при сохранении нас мастер-файл сохранялся как стандартное имя, а не отчет: (

Если бы кто-нибудь мог дать мне какие-либо предложения, это было бы потрясающе!

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