假设我们有一个只有一个宏文件的文件夹,并且每天我们都将excel文件保存在通过邮件收到的同一文件夹中。但是,每天的文件名都会更改。我的意思是说我们通过邮件获得的文件都没有标准名称。现在,我们在同一文件夹中有两个文件。
我们可以使用宏在同一个文件夹中打开另一个以随机名称保存的文件吗?在这里,另一个文件的名称不是标准的。此外,在运行宏之后,我们还希望删除该文件。
答案 0 :(得分:1)
您可以通过以下方式获取目录中最新文件的文件名:
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