重命名有date的文件

我有一些代码将重命名文件名并重命名该文件中的选项卡名称,但是为我的代码工作我的文件名必须是静态的。

我遇到的问题是我的文件通常会在date或周数加到文件名的末尾,有人可以帮我修改我的代码,以便使用通配符,或者可能忽略前两个或三个字之后的任何内容的文件名并运行我的代码?

例如我得到一个名为Incident Report Week 43.xlsx的文件,为了使我的代码工作,我必须手动将文件重命名为Incident Report.xlsx,有没有办法让我们忽略“Week 43”字报告,相同的文件也可以被称为事件报告20150424.xlsx

这是我到目前为止

'launch Excel and open file Const xlExcel8 = 56 Const xlOpenXMLWorkbook = 51 Set xlObj = CreateObject("Excel.Application") Set xlFile = xlObj.WorkBooks.Open("C:\Users\_ThisWeek\Incident Report.xlsx") 'turn off screen alerts xlObj.Application.DisplayAlerts = FALSE 'loop through sheets For Each Worksheet In xlFile.Worksheets 'change sheet to desired worksheet name If Worksheet.Name = "Weekly Report" Then Worksheet.Name = "Sheet1" End If Next xlfile.SaveAs "C:\Users\_ThisWeek\Incident Report.xls", xlExcel8 xlFile.Close True xlObj.Quit 

Ansgar提交的作品,经过testing,谢谢先生

添加一个外部循环来遍历源目录中的所有文件,并只打开扩展名为.xlsx和名称以“ Incident Report开头的Incident Report

 Set fso = CreateObject("Scripting.FileSystemObject") Set xlObj = CreateObject("Excel.Application") Set re = New RegExp re.Pattern = "^incident report.*\.xlsx$" re.IgnoreCase = True For Each f In fso.GetFolder("C:\Users\_ThisWeek").Files If re.Test(f.Name) Then Set xlFile = xlObj.WorkBooks.Open(f.Path) ... xlFile.Close True End If Next