Добрый день!
Пытаюсь использовать DoEvents, но почему-то он не прерывает работу макроса. Где кроется ошибка?
Excel 2010, PowerQuery - надстройка
Есть 3 файла: 1-й с макросом "Макрос.xlsm", который запускается вручную, 2й - "Обработка.xlsx" содержит таблицу которая является результатом запроса PowerQuery, 3-й "Данные.xls" - это файл с данными которые обрабатывает PQ.
Задача такая - пользователь через макрос запускает процесс обновления запроса Power Query, после окончания которого файл "Обработка" сохраняется и закрывается.
По факту происходит следующее - макрос запускает обновление, но не дожидаясь его окончания даёт команду на закрытие файла. DoEvents не помогает.
То ли код написан неверно, то ли DoEvents не работает с PowerQuery ?!
Примечание, макрос должен содеражться в 1-м файле. 2-й и 3й файлы не должны содеражть макросов. Нет возможности установить более новые версии Excel.
Мой код:
Пытаюсь использовать DoEvents, но почему-то он не прерывает работу макроса. Где кроется ошибка?
Excel 2010, PowerQuery - надстройка
Есть 3 файла: 1-й с макросом "Макрос.xlsm", который запускается вручную, 2й - "Обработка.xlsx" содержит таблицу которая является результатом запроса PowerQuery, 3-й "Данные.xls" - это файл с данными которые обрабатывает PQ.
Задача такая - пользователь через макрос запускает процесс обновления запроса Power Query, после окончания которого файл "Обработка" сохраняется и закрывается.
По факту происходит следующее - макрос запускает обновление, но не дожидаясь его окончания даёт команду на закрытие файла. DoEvents не помогает.
То ли код написан неверно, то ли DoEvents не работает с PowerQuery ?!
Примечание, макрос должен содеражться в 1-м файле. 2-й и 3й файлы не должны содеражть макросов. Нет возможности установить более новые версии Excel.
Мой код:
| Код |
|---|
Sub ОбновлениеЗапроса()
Workbooks.Open ("C:\Данные\Обработка.xlsx")
ActiveWorkbook.RefreshAll
DoEvents
ActiveWorkbook.Close SaveChanges:=True
End Sub
|
Изменено: - 24.04.2019 17:46:37