2014-07-15 4 views
0

파일 확장명을 제외한 파일의 전체 경로에 파일 이름이 있습니다. 예 : "C:\temp\FileNameWithoutExtension" 이제이 파일이 있는지 확인하고 싶습니다. 나는 파일 확장자에 대해 신경 쓰지 않는다.확장명이없는 파일 이름이 있는지 확인하십시오.

파일 확장명을 포함한 전체 파일 이름을 가지고있을 때 다음 코드를 사용하여 파일이 있는지 확인했습니다.

Set oFSO = CreateObject("Scripting.FileSystemObject") 
FileExists = oFSO.FileExists(FileName) 

도움 주셔서 감사합니다.

+0

을 시도하고 InStr이 뭔가를 (할 ")> 0 파일이 있는지,하지만 더 나은 방법이 있는지 궁금 해서요. – user1558076

답변

3

FileExists에서 와일드 카드를 처리했지만 좋지는 않습니다. 이게 도움이 될까요?

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFolder = objFSO.GetFolder("C:\temp") 
Set objFiles = objFolder.Files 

For Each objSingleFile in objFiles 
    If objSingleFile.Name Like "FileNameWithoutExtension*" Then 
     ' The file name starts with FileNameWithoutExtension 
     MsgBox "Are you looking for me?: " & objSingleFile.Name 
    End If 
Next 

이것은 검색하고있는 위치에 대한 가정을하고 있으며, 재검사하지는 않지만 기본 사항은 여기에서 볼 수 있습니다. 이것이 유일한 방법은 아닙니다. "C : \"임시 \의 FileNameWithoutExtension.txt C ": \ 임시 \의 FileNameWithoutExtension을

+0

예 도움이된다고 생각합니다. 고맙습니다. – user1558076

+0

@ user1558076 : 문제 해결에 도움이된다면 [대답 접수] (http://meta.stackexchange.com/a/5235)를 고려해보십시오. –

0

지금은 상위 디렉토리에있는 모든 파일을 통해 루프 결정은이

Sub FileExist() 
    Dim file As String, fileName As String 
    fileName = "C:\temp\abc" & "*" 
    file = Dir(fileName) 

    If file = "" Then 
     MsgBox "File doesn't exist" 
    Else 
     MsgBox "file found" 
    End If 
End Sub 
+0

당신의 생각이 마음에 들지만 "변수가 정의되지 않았습니다 : 'Dir'"오류가 나타납니다. – user1558076

관련 문제