2013-06-15 6 views
3

저는 열렬한 영화 수집가이며, 1000 장의 영화를 소장하고 있습니다.엑셀 시트에 폴더를 연결하십시오.

내가 일반적으로하는 것은 다운로드하고 볼 영화 목록이있는 메모장입니다. 다운로드 한 모든 영화를 "Movies"라는 폴더에 보관하고 영화를 본 후 "Watched Movies"라는 다른 폴더로 옮깁니다.

이제는 각 폴더에있는 영화 목록을 보여주는 시트가있는 Excel 파일이 필요합니다. 또한 "Movie"폴더에 영화를 올릴 때마다 엑셀 시트가 해당 파일/폴더 이름을 표시해야하며 "감시 된 영화"폴더로 이동할 때마다 마찬가지로 Excel 자체 만 업데이트하면됩니다.

이것이 여러분 중 일부를위한 케이크 조각이라고 확신합니다.

도움을 주시면 감사하겠습니다. 당신은 당신이 실제로 찾는 것은 어려운 일이 아니라 프로그래밍 지식의 비트가 필요, 당신은 VBA 매크로를 사용해야합니다,이 작업을 수행 할 좋아

+1

시도해 보셨습니까? 'Dir function'을 검색하지 않으면 ([this code in question] (http://stackoverflow.com/questions/4282940/does-dir-make-any-guarantee-on-the-order-of-files- 돌아왔다)) 그리고 어떤 문제가 생기면 여기로 돌아올 수있다 ... –

+0

내 새로운 코드를 시도 했습니까?작동 했나요? – isJustMe

+1

@isJustMe는 훌륭한 답변을 가지고 있으며 효과가있는 것처럼 보입니다. 허용 된 답변으로 표시하면 다른 사용자에게 도움이됩니다. 시도 해봐! – AntonioOtero

답변

2

보다도, J.V을 주셔서 감사합니다.


1 단계 당신은 당신이 2010 here 어떻게되어 사용하는 경우, 엑셀에서 개발자 리본을 추가해야합니다.

Visual Basic에 개발자 탭을 클릭 2 단계
과는 VB 인터페이스를 엽니 다, 나는 당신에게 스크립트를 제공 할 것입니다하지만 당신은 '마이크로 소프트 스크립팅 런타임'참조를 추가해야합니다.

3 단계
•은 Visual Basic 선택 도구에 - 가능한 참조 목록 상자 • 드롭 다운 메뉴
에서 참조
가 • 마이크로 소프트 런타임 스크립팅 '옆의 체크 확인란을 선택 표시됩니다 '전체 이름과 Scrrun.dll에 파일의 경로 •
OK (확인) 버튼을 목록 상자 아래
• 클릭을 표시됩니다

4 단계

셀렉에서 ThisWorkbook 다음 코드에

Sub ViewFiles() 
    theRow = 3 
    Call ShowFiles(Range("A1"), True) 
End Sub 

Sub ShowFiles(path, subfolders) 
    Set obj = New Scripting.FileSystemObject 
    Set Source = obj.GetFolder(path) 
    On Error Resume Next 
    For Each file In Source.Files 
     theCol = 2 
     Cells(theRow, theCol).Value = file.path 
     theCol = theCol + 1 
     Cells(theRow, theCol).Value = file.Name 
     theCol = theCol + 1 
     Cells(theRow, theCol).Value = file.Size 
     theCol = theCol + 1 
     theRow = theRow + 1 
    Next 
    If subfolders Then 
    For Each subFolder In Source.subfolders 
     Call ShowFiles(subFolder.path, True) 
    Next 
    End If 
End Sub 

5 단계
을 붙여 사용하면, 다음 ALT + F8을 눌러보고 매크로가 ViewFiles이라는 실행하려는 경로를 붙여 셀 A1 통합 문서를 모든 파일로 업데이트합니다.

그것은 다음과 비슷한 모습이 될 것입니다 enter image description here

가 당신을 위해 일을 알려줘!

+0

안녕하세요, 물론 샷을 줄 것이지만 위의 단계는 2007 년에도 동일합니다. 그게 버전이 사용하고 있기 때문에. – user2489233

+0

안녕하세요, 2007 년에도 잘 돌아갔습니다. 정말 고맙습니다. 그런데 폴더 이름을 표시하는 데 사용해야하는 코드는 무엇입니까? 위의 코드는 파일 이름을 보여 주지만 나열되어야하는 동일한 폴더 안에 폴더와 파일이 있습니다. 노력과 도움을 다시 한번 감사드립니다. 건배! – user2489233

+0

No problem :) 업데이트 된 코드를 보면 하위 폴더에 파일이 표시됩니다. 이 답변을 유용하게 사용하면 다른 사용자가 유용 할 수 있도록 upvoting 및 답변 수락을 고려하십시오. – isJustMe

관련 문제