Что делает макрос
В этом макросе, мы используем функцию Dir. Функция Dir возвращает строку, которая представляет собой имя файла.
С её помощью в указанной папке мы возьмём имя каждого файла (с расширением “.xlsx”), затем будем открывать каждый файл, запускать макрос и, наконец, закрывать файл после сохранения.
Код макроса
Sub Macros12()
Dim MyFiles As String '1 Объявляем переменные
MyFiles = Dir("C:\Отчёты\*.xlsx") '2 укажите нужную нам папку
Do While MyFiles <> ""
Workbooks.Open "C:\Temp\" & MyFiles '3 Открываем файлы один за другим
MsgBox ActiveWorkbook.Name
ActiveWorkbook.Close SaveChanges:=True
MyFiles = Dir '4 Следующий файл в папке
Loop
End Sub
Как работает этот код
- Объявляем переменную MyFiles (тип строчный), которая будет фиксировать имя каждого файла.
- В шаге 2, макрос использует функцию DIR, чтобы указать Тип файла и адрес папки. Обратите внимание, что код ищет файлы в формате xlsx. Это означает, что только .xlsx файлы будут передаваться. Если вы ищете .xls файлы, вам необходимо изменить расширение.
- Открываем файл, делает некоторые действия (вы должны поместить в код макроса требуемые действия), а затем мы сохраняем и закрываем файл. В этом простом примере, мы вызываем окно с сообщением, чтобы показать имя каждого файла.
- Ищем снова по кругу, чтобы найти больше файлов. Если нет файлов, переменная MyFiles пустая.
Если это так, то цикл и макрос завершается.
Как использовать
1
|