Страницы: 1
RSS
Макрос на обновление запросов Power Query в файлах по очереди, с пропуском ошибок, Доработка макроса, чтобы он пропускал ("перескакивал") ошибки обновлений запросов
 
Добрый день!
Есть макрос в отдельной книге, который перебирает папки, открывает в них по очереди файлы, обновляет запросы Power Query, закрывает файл, переходит к следующему.
проблема в том, что если при обновлении в очередном файле один из запросов не обновился - выдал ошибку - то макрос прекращает работу.
помогите дописать код, чтобы макрос в таком случае 1) закрывал такой файл без сохранения и переходил к следующему и 2) имена (и путь, если возможно, т.е. в какой папке лежит) таких  "не обновленных" файлов записывал себе куда-нибудь на отдельную вкладку

Цена - 500 рублей

Код
Sub Refresh_All_Files_in_Folder()
    Dim lTest As Long, cn As WorkbookConnection
     
    WORK_FOLDER = "C:\Users\roman\Downloads\"       'путь к папке с файлами (должен заканчиваться на обр.слэш!)
     
    'получаем список всех файлов из папки в массив
    CurPath = Dir(WORK_FOLDER & "*.xlsx", vbNormal)
    i = 0
     
    'перебираем по очереди все файлы в папке
    Do Until CurPath = ""
        i = i + 1
        'открываем очередной файл
        Workbooks.Open Filename:=WORK_FOLDER & CurPath, ReadOnly:=False
         
         
        'обновляем всё запросы PQ и дожидаемся загрузки новых данных
        For Each oc In ActiveWorkbook.Connections
                 oc.OLEDBConnection.BackgroundQuery = False
            oc.Refresh                  
        oc.OLEDBConnection.BackgroundQuery = True
        Next
         
        
        'обновляем сводные
        ActiveWorkbook.RefreshAll
 
         
        'закрываем файл
        ActiveWorkbook.Close SaveChanges:=True
         
        'переходим к следующему файлу
        CurPath = Dir()
    Loop
     
    MsgBox "Обновлено " & i & " файлов"
 
 
End Sub
Изменено: ChubraevRO - 27.09.2021 13:20:15
 
ChubraevRO,  добрый день.
Если готовы предоставить файлы как оригинал, так и сами перебираемые(не все, достаточно пару нормальных и 1 "бракованный"), то пишите на почту(в профиле).
 
выслал. Жду обратной связи
 
Обменялись
Страницы: 1
Наверх