Открыть файл, который не имеет стандартного имени - PullRequest
0 голосов
/ 23 мая 2019

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

Можем ли мы открыть другой файл, который мы сохранили, с некоторым произвольным именем, доступным в той же папке, с помощью макроса?Здесь имя другого файла не является стандартным.Кроме того, после запуска макроса мы также хотим удалить этот файл.

1 Ответ

1 голос
/ 23 мая 2019

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

Option Explicit

Private Sub GetNewestFilename()
    Dim searchDirectory As String
    Dim searchPattern As String
    Dim currentFilename As String
    Dim NewestFilename As String
    Dim NewestFiledate As Date

    searchDirectory = Application.DefaultFilePath & "\"
    searchPattern = "*.xl*"

    currentFilename = Dir(searchDirectory & searchPattern, 0)
    If currentFilename <> "" Then
        NewestFilename = currentFilename
        NewestFiledate = FileDateTime(searchDirectory & currentFilename)
        Do While currentFilename <> ""
            If FileDateTime(searchDirectory & currentFilename) > NewestFiledate Then
                 NewestFilename = currentFilename
                 NewestFiledate = FileDateTime(searchDirectory & currentFilename)
            End If
            currentFilename = Dir
        Loop
    End If
    MsgBox NewestFilename

    Dim wb As Workbook
    Set wb = Workbooks.Open(searchDirectory & NewestFilename)
    ' do something
    wb.Close SaveChanges:=False
    Set wb = Nothing

    ' Kill searchDirectory & NewestFilename ' Delete the file

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