У меня есть книга Excel, которая использует Power Query для заполнения таблицы. Запрос извлекает информацию из нескольких внешних рабочих книг, а также из таблицы в рабочей таблице одной и той же рабочей книги.
Рабочий лист в той же рабочей книге также хранит изменения в столбцах, которые предназначены для манипулирования. Рабочий лист в той же Рабочей книге является частью al oop. Он хранит информацию, которая извлекается в основную таблицу, но также сохраняет сделанные изменения.
Для правильной работы этой книги необходимо сохранить рабочую книгу перед выполнением запроса хранилища. Если сохранение не происходит до выполнения запроса, запрос не будет содержать изменений.
Это легко сделать, нажав кнопку сохранения. Следующий код работает хорошо:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.EnableEvents = False
ThisWorkbook.Save
ThisWorkbook.Connections("Query - Stored").Refresh
Application.EnableEvents = True
End Sub
Это не работает, когда рабочая книга закрыта, и после нажатия кнопки закрытия документа нажимается кнопка сохранения.
Событие BeforeSave
не срабатывает, потому что у него нет шанса. Документ закрывается, и при повторном открытии он отображается как сбойный файл и отображается в списке восстановления.
Может кто-нибудь помочь мне понять, почему и как его преодолеть.