/ VBA에서 디렉터리의 파일

Excel VBA 디렉터리의 파일

아래에서 우리는 Excel VBA닫힌 모든 통합 문서 및 워크 시트를 반복합니다. 안에 예배 규칙서, 모든 이름을 표시합니다.

Book1.xls, Book2.xls, Book3.xls, Book4.xls 및 Book5.xls를 다운로드하여 "C : test"에 추가하십시오.

상태:

디렉토리 예제의 파일

명령 단추에 다음 코드 줄을 추가하십시오.

1. 먼저 String 유형의 두 변수와 Worksheet 객체 및 Integer 유형의 두 변수를 선언합니다.

Dim directory As String, fileName As String, sheet As Worksheet, i As Integer, j As Integer

2. 화면 깜박임을 방지하려면 화면 업데이트를 해제하십시오.

Application.ScreenUpdating = False

3. 변수 디렉토리를 초기화하십시오. Dir 함수를 사용하여 첫 번째 * .xl ??을 찾습니다. 이 디렉토리에 저장된 파일.

directory = "c:test"
fileName = Dir(directory & "*.xl??")

참고 : Dir 함수는 여러 문자 (*) 및 단일 문자 (?) 와일드 카드를 사용하여 모든 다른 유형의 Excel 파일을 검색 할 수 있도록 지원합니다.

4. 변수 fileName은 이제 디렉토리에서 찾은 첫 번째 Excel 파일의 이름을 보유합니다. Do While Loop를 추가하십시오.

Do While fileName <> ""

Loop

루프에 다음 코드 행 (5, 6, 7, 8 및 9에)을 추가하십시오.

5. Integer 유형의 변수를 초기화하고 Excel 파일의 이름을 i 행의 첫 번째 열에 추가하십시오.

i = i + 1
j = 2
Cells(i, 1) = fileName

6. 닫힌 Excel 파일에서 데이터 (또는 시트 이름)를 추출하는 간단한 방법은 없습니다. 따라서 Excel 파일을 엽니 다.

Workbooks.Open (directory & fileName)

7. Excel 파일의 모든 시트 이름을 i 행의 다른 열에 추가하십시오.

For Each sheet In Workbooks(fileName).Worksheets
    Workbooks("files-in-a-directory.xls").Worksheets(1).Cells(i, j).Value = sheet.Name
    j = j + 1
Next sheet

8. Excel 파일을 닫습니다.

Workbooks(fileName).Close

9. Dir 함수는 특별한 함수입니다. 다른 Excel 파일을 가져 오려면 인수없이 Dir 함수를 다시 사용할 수 있습니다.

fileName = Dir()

참고 : 파일 이름이 더 이상 일치하지 않으면 Dir 함수는 길이가 0 인 문자열 ( "")을 반환합니다. 결과적으로 Excel VBA는 Do While 루프를 벗어납니다.

10. 화면 갱신을 다시 켜십시오 (루프 외부에서).

Application.ScreenUpdating = True

11. 프로그램을 테스트하십시오.

결과:

Excel VBA 디렉터리의 파일

또한 읽으십시오 :