Dir()을 사용하여 현재 디렉터리 (즉, 내가 사용중인 통합 문서와 같은 디렉터리)에 파일이 있는지 여부를 확인하는 작업을하고 있습니다. 코드는 주어진 - 그리고 분명히 비디오 예에서 작업 -입니다 같이 :이 코드를 실행하면Excel VBA 디렉터리() 기본 경로?
IsThere = (Dir("SomeFile.xlsx") <> "")
는 IsThere는 False
를 반환합니다. 내가 사용하여 해결할 수 있습니다
IsThere = (Dir(ActiveWorkbook.Path & "\SomeFile.xlsx") <> "")
하지만 예상대로 디렉터리는 현재 디렉토리에 기본적으로보고되지 않는 이유를 알고 싶어요.
나는 관련 조언을 찾기 위해 애 쓰고 있습니다. 내가 Dir()을 사용하는 방법에서 발견 한 대부분의 예제는 지정된 파일 경로와 함께 있으므로 내 문제에 대해 실제로 밝히지 않았습니다. 내가 찾은 가장 가까운 것을 말한다 this (obsolete) MSDN reference입니다 :
가 제대로 실행하려면 Dir 함수는 FileIOPermission에의 읽기 및 PathDiscovery 플래그를 실행 코드에 부여해야합니다.
문제가 정말 1에 StackOverflow에 관해서는
에 PathDiscovery를 설정하는 방법에 거기에 링크 된 조언을 이해하지 못하는입니다, this 아마 내 문제에 가장 가까운 -이 지정된 사용하지만 경로이며 네트워크 위치를 참조하는 이 아니며이 아닙니다. 대답은에서 this question까지 Dir()이 예상되는 방식으로 작동해야한다고 가정합니다. 즉, 파일 이름이 완전히 지정되어 있고 경로가 완전히 지정되어 있지 않은 것으로 가정합니다.
여기에 대한 답은 특정 위치의 파일을 테스트 한 다음'Dir()'호출에 경로를 포함시키는 경우입니다 - 예를 들어'Dir ("test.xlsx")'를 사용하지 말고 –