标题就是这么简单。我需要能够使用“ x .xlsx”而不是“* xy.xlsx”的文件夹打开文件。
不知道怎么做。我可以获取文件目录,然后使用星号选择所有带有“x”的文件。但我有文件,我不想打开唯一的变化是在文件名的末尾,他们有少量的文本(“y”)。
这是我到目前为止所拥有的。我会加什么。
Workbooks.Open (Dir & FileNameStart & "*")
希望这很清楚。
答案 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
所以,把它放在你的循环中它应该可以工作。