지정된 폴더에서 특정 항목을 검색하고 나열하는 VBA
Excel 파일을 열면 다음 화면이 표시됩니다.
우선, 원하는 아이템이 들어 있는 폴더의 풀 패스를 Shift+오른쪽 클릭으로 취득해, 폴더의 란에 복사합니다. 폴더가 비어 있으면이 엑셀이 저장된 폴더가 기본 경로가됩니다.
그런 다음 파일 검색 조건에 원하는 항목의 파일 이름 키워드를 넣습니다. 확장자로 검색하면
「txt」나 「.txt」, 키워드로 검색한다면 「(키워드)」나 「(키워드)」등.
예로서
와 같이 txt를 나열하고 싶다면 파일 검색 조건 필드에 '.txt'를 입력하십시오.
파일 목록 작성을 클릭하면
얻어집니다.
아래 VBA 소스 코드 메모
이 VBA는 3개의 서브 프로시저로 구성되지만, 특별히 분리할 의미는 없기 때문에 클래스 오브젝트의 시트 1에 기입한 것으로 한다.
일단 객체의 정의가 번거롭기 때문에,
Dim twb(5) As Object
Sub ob()'シートオブジェクトの略称を定義
For i = 1 To Worksheets.Count
Set twb(i) = ThisWorkbook.Worksheets(i).Cells
Next
'オブジェクトの略称を定義
End Sub
로 약칭의 정의를 해 둔다. 용도에 따라 시트까지도 좋다.
Sub dataexp() 'ファイルリストを作成
Dim pt, fkw, fnm, fpt As String
Call ob
'シートオブジェクトの略称を呼び出す
pt = twb(1).Cells(3, 3)
If Len(pt) < 1 Then
pt = ThisWorkbook.Path
End If
'フォルダパスの定義。未定義の場合はこのエクセルファイルの格納フォルダがデフォルトパスとなる
fkw = Dir(pt & "\" & Cells(3, 1))
i = 1
Do While fkw <> ""
twb(1).Cells(5 + i, 3) = fkw
fkw = Dir()
i=i+1
Loop
'条件を満たすファイルのパスを取得する
End Sub
Sub dataexp2() 'ファイルリストをリセット
Call ob
twb(1).Range("C6").CurrentRegion.ClearContents
End Sub
Reference
이 문제에 관하여(지정된 폴더에서 특정 항목을 검색하고 나열하는 VBA), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Arcturusies/items/c2ccd8c985e79b37b72d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)