VBA基于文件名的第一部分打开excel工作簿?

我试图用vba打开一个excel工作簿:

'Open Planner On Error Resume Next Set WB = Workbooks("(FILE NAME).xlsx") On Error GoTo 0 If WB Is Nothing Then 'open workbook if not open Set WB = Workbooks.Open("G:\BUYING\Food Specials\6. Depot Memos\" & ThisWorkbook.Worksheets(1).Range("T8").value & "\(File Name).xlsx", Password:="samples", WriteResPassword:="samples", UpdateLinks:=False) End If 

我遇到的问题是我的文件更改名称不时如此:

 Depot Memo 12 - 13 Depot Memo 13 - 14 Depot Memo 15 - 16 

我如何打开基于文件名“仓库备忘录”的第一部分的文件? 我是VBA全新的,所以我非常感谢任何帮助。

提前致谢

根据这里的回答尝试一下这个例子(喊出@Alex K.):

只需要像这样replace你的代码部分:

 'Open Planner 'This is your routine here On Error Resume Next Set WB = Workbooks("(FILE NAME).xlsx") On Error GoTo 0 If WB Is Nothing Then 'open workbook if not open Set WB = FindDepotMemo End If 'and there you need another check if WB is nothing 

并将此function添加到您的项目中:

 Function FindDepotMemo() As Workbook Dim Path As String Dim FindFirstFile As String Path = "G:\BUYING\Food Specials\6. Depot Memos\" & ThisWorkbook.Worksheets(1).Range("T8").Value & "\" FindFirstFile = Dir$(Path & "Depot Memo*.xlsm") If (FindFirstFile <> vbNullString) Then Set FindDepotMemo = Workbooks.Open(Filename:=Path & FindFirstFile, Password:="samples", WriteResPassword:="samples", UpdateLinks:=False) End If End Function