/ / Датотеке у директоријуму у Екцелу ВБА

Датотеке у директоријуму у Екцел ВБА

У наставку ћемо погледати програм Екцел ВБА то петље кроз све затворене радне свеске и радне листове у а директоријум, и приказује сва имена.

Преузмите Боок1.клс, Боок2.клс, Боок3.клс, Боок4.клс и Боок5.клс и додајте их у "Ц: тест"

Ситуација:

Датотеке у примеру директоријума

Додајте следеће линијске кодове у командно дугме:

1. Прво, објављујемо две варијабле типа Стринг, радни лист објекта и двије варијабле типа Интегер.

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

2. Да бисте избегли треперење екрана, искључите ажурирање екрана.

Application.ScreenUpdating = False

3. Иницијализирајте варијабилни директоријум. Користимо функцију Дир да пронадјемо први * .кл ?? датотека сачувана у овом директоријуму.

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

Напомена: Дир функција подржава употребу вишеструких знакова (*) и једнокретних знакова (?) Да бисте претраживали све различите врсте Екцел датотека.

4. Променљива филеНаме сада садржи име прве Екцел датотеке која се налази у директоријуму. Додајте док користите петље.

Do While fileName <> ""

Loop

Додајте следеће линије кода (на 5, 6, 7, 8 и 9) у петљу.

5. Иницијализирајте варијабле типа Интегер и додајте име Екцел датотеке у прву колону редова и.

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

6. Не постоји једноставан начин извлачења података (или имена листа) из затворених Екцел датотека. Због тога отворимо Екцел датотеку.

Workbooks.Open (directory & fileName)

7. Додајте сва имена листа Екцел датотеке у друге колоне из реда и.

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. Затворите Екцел датотеку.

Workbooks(fileName).Close

9. Дир функција је посебна функција. Да бисте добили друге Екцел датотеке, можете поново користити функцију Дир без аргумената.

fileName = Dir()

Напомена: када се више не подударају имена датотека, Дир функција враћа стринг са нултом дужином (""). Као резултат, Екцел ВБА ће напустити петицу До Вхиле.

10. Укључите поново ажурирање екрана (изван петље).

Application.ScreenUpdating = True

11. Тестирајте програм.

Резултат:

Датотеке у директоријуму у Екцел ВБА

Такође прочитајте: