2013-12-12 1 views
1

제목처럼 간단합니다. "x .xlsx"이지만 "* xy.xlsx"가 아닌 폴더가있는 파일을 열 수 있어야합니다.특정 와일드 카드를 사용하여이 디렉토리의 모든 파일 열기

어떻게해야할지 잘 모르겠습니다. 파일 디렉토리를 가져온 다음 별표를 사용하여 "x"가있는 모든 파일을 선택할 수 있습니다. 하지만 나는 파일의 끝에 작은 양의 텍스트 ("y")가있는 유일한 변경으로 열고 싶지 않은 파일이 있습니다.

이것은 내가 지금까지 가지고있는 것입니다. 나는 무엇을 추가 할 것인가?

Workbooks.Open (Dir & FileNameStart & "*") 

희망.

+0

질문 제목이 문제와 일치하지 않습니다. 편집 중. – brettdj

답변

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 
+0

+1 좋은 분. :) –

+0

+1 잘 덮었습니다. – brettdj

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 

그래서 루프에 넣으면 제대로 작동합니다.

관련 문제