Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: sirg от 03 апреля 2018, 11:35

Название: VBA: Открытие всех файлов в папке
Отправлено: sirg от 03 апреля 2018, 11:35
Как открывать с помощью VBA все файлы Exсel находящиеся в указанной папке?
У меня есть макрос но он не работает, в чем ошибка?

Макрос
Sub FreeBooksOpen()

    Dim MyPath As String, MyName As String, FN As String
   
    MyPath = "C:\Users\Матакросссс\Desktop\EFL 2018"
    MyName = Dir(MyPath & "*.xls")
    Do While MyName <> ""
        FN = MyPath + MyName
        Excel.Application.Workbooks.Open FN
        MyName = Dir
    Loop
     
End Sub
[свернуть]
Название: Re: VBA: Открытие всех файлов в папке
Отправлено: Администратор от 03 апреля 2018, 13:17
Между путём и именем файла нужно вставлять слеш:
MyName = Dir(MyPath & "\" & "*.xls")
FN = MyPath & "\" & MyName
Название: Re: VBA: Открытие всех файлов в папке
Отправлено: sirg от 03 апреля 2018, 14:17
Пишет что не удалось найти такой файл. Хотя они там есть
Название: Re: VBA: Открытие всех файлов в папке
Отправлено: Администратор от 03 апреля 2018, 14:19
Какое расширение у файлов?
Название: Re: VBA: Открытие всех файлов в папке
Отправлено: sirg от 03 апреля 2018, 14:20
.xlsm
Название: Re: VBA: Открытие всех файлов в папке
Отправлено: Администратор от 03 апреля 2018, 14:22
А вы указываете макросу искать "*.xls".
Название: Re: VBA: Открытие всех файлов в папке
Отправлено: sirg от 03 апреля 2018, 14:57
Заработало, спасибо большое. Какой раз уже прошу у Вас помощи, и каждый раз получаю её!!!

Макрос
Sub FreeBooksOpen()

    Dim MyPath As String, MyName As String, FN As String
   
    MyPath = "C:\Users\Матакросссс\Desktop\EFL 2018"
    MyName = Dir(MyPath & "\" & "*.xlsm")
    Do While MyName <> ""
        FN = MyPath & "\" & MyName
        Excel.Application.Workbooks.Open FN
        MyName = Dir
    Loop
     
End Sub
[свернуть]