2016-08-06 5 views
2

같은 폴더 안에 모든 파일 이름을 나열하는 코드를 작성하고 있습니다. 코드도 작동하지만 하나의 파일을 남겨 두는 것이 문제입니다. 폴더에 10 개의 파일이 있다고 가정하고 직접 실행 창에 9 개의 이름 만 인쇄하는 매크로를 실행합니다. Pls는 제대로DIR 함수가 모든 파일 이름을 인쇄하지 않습니다.

답변

2

당신은 아마, 즉 사용이 뭔가를 원하는 나는 내가 DIR 기능을 사용하고 있지 않다 생각

Option Explicit 

Sub test() 
    Dim curpath As String, path As String 

    path = "H:\NAFIS STUDY\Excel vba\New Folder\" 

    curpath = Dir(path) 

    Do Until curpath = vbNullString Or curpath = "" 
     Debug.Print Dir() 
    Loop 

End Sub 

아래의 코드에서 잘못된 어딘지 날 수정하여 디버그 출력에 쓸 수 curpath를 변수 그런 다음 Dir의 다음 리턴 값을 지정하십시오. 당신은 루프를 종료하려면 모두`curpath = vbNullString`와`curpath 필요가 = ""없습니다 curpath

Option Explicit 

Sub test() 
    Dim curpath As String, path As String 

    path = "c:\\temp\\" 

    curpath = Dir(path) 

    Do Until curpath = vbNullString Or curpath = "" 
     Debug.Print curpath 
     curpath = Dir() 
    Loop 

End Sub 
+1

인쇄 결코로 원래의 코드에서 Dir(path)의 첫 번째 반환 값이 인쇄되지 않았다. –

+0

그래,하지만 나는 그의 모든 코드를 리팩터링하고 싶지는 않지만 그에게 예기치 않은 결과를 가져 오는 실수를 보여주고 싶다. 좋은 점 비록 좋은 점 – DAXaholic

+1

개인적 취향 나는 그것을 제거했지만 걱정할 필요가 없다. –

관련 문제