使用特定通配符打开此目录中的所有文件

时间:2013-12-12 21:23:30

标签: excel vba excel-vba

标题就是这么简单。我需要能够使用“ x .xlsx”而不是“* xy.xlsx”的文件夹打开文件。

不知道怎么做。我可以获取文件目录,然后使用星号选择所有带有“x”的文件。但我有文件,我不想打开唯一的变化是在文件名的末尾,他们有少量的文本(“y”)。

这是我到目前为止所拥有的。我会加什么。

Workbooks.Open (Dir & FileNameStart & "*")
希望这很清楚。

2 个答案:

答案 0 :(得分:6)

Dim f

f = Dir(SrcPath & "*x*.xlsx", vbNormal)
Do While Len(f)>0
    If not f like "*y.xlsx" Then
        Workbooks.open SrcPath & f
        '...
    end if
    f = Dir()
Loop

答案 1 :(得分:0)

你的问题中有一些不清楚的地方。但是请看下面的可能解决方案:

Dim tmp

'this will run inside loop- so, start your loop somewhere here
tmp = Dir()
'if file name has "y" and has no "yyx" then...
If InStr(1, tmp, "y", vbTextCompare) <> 0 And _
    InStr(1, tmp, "yyx", vbTextCompare) = 0 Then

    '...you will open it
    Workbooks.Open tmp

End If

所以,把它放在你的循环中它应该可以工作。