Excel 选择在VBA中按部分名称打开工作簿

Excel 选择在VBA中按部分名称打开工作簿,excel,vba,Excel,Vba,当打开工作簿的名称不是常量时,如何选择它。假设文件名为“file123 name”,数字部分每天都在变化。明天可能是“文件名124”,在“文件名145”之后的第二天,等等 有没有办法通过regexp或其他方式选择它?我当前正在使用Windows(“文件456名称”)。激活方法。基本上,VBA代码需要通过一些预定义的模式匹配打开的工作簿。另外,如果两个打开的文件匹配相同的模式,它应该返回错误。类似的事情? Sub Macro1() For Each wb In Workbooks If

当打开工作簿的名称不是常量时,如何选择它。假设文件名为“file123 name”,数字部分每天都在变化。明天可能是“文件名124”,在“文件名145”之后的第二天,等等


有没有办法通过regexp或其他方式选择它?我当前正在使用
Windows(“文件456名称”)。激活
方法。基本上,VBA代码需要通过一些预定义的模式匹配打开的工作簿。另外,如果两个打开的文件匹配相同的模式,它应该返回错误。

类似的事情?

Sub Macro1()

For Each wb In Workbooks

    If InStr(1, wb.Name, "File") > 0 And InStr(1, wb.Name, "Name") > 0 Then

        Debug.Print wb.Name

    End If

Next

End Sub

可能有一个比更好的例子,但我认为它很有用。为什么需要
选择
激活它?只需遍历打开的工作簿,找到匹配项后,将工作簿变量设置为该工作簿。