Как автоматически сохранить рабочую книгу при закрытой пользовательской форме? Из красного "Х" - PullRequest
1 голос
/ 01 ноября 2019

Как я могу автоматически сохранить скрытую книгу Excel, когда пользовательская форма закрыта? Пользовательская форма заполняет рабочую книгу данными, которые также заполняют списки в пользовательской форме. Мне нужно сохранить рабочую книгу, чтобы любые добавленные данные не терялись при закрытии пользовательской формы.

Я бы хотел, чтобы пользователь вводил данные в пользовательскую форму, а когда они будут выполнены, закройте пользовательскую форму, и все данные будутбыть сохранены в рабочую книгу для будущего использования. Рабочая книга скрыта, поэтому сохранить рабочую книгу невозможно.

Screen Shot

1 Ответ

4 голосов
/ 01 ноября 2019

Обработка события QueryClose. Когда параметр CloseMode равен vbFormControlMenu, пользователь закрыл форму, щелкнув красную кнопку «X».

Событие Terminate - это специальное событие времени жизни (вместе с Initialize), котороезапускается один раз за время существования объекта, когда он уничтожается - независимо от того, как была закрыта форма. В зависимости от того, как вы показываете свою форму, этот обработчик может в конечном итоге исполниться в неожиданное время - более конкретно, если вы показываете экземпляр формы по умолчанию , , вы не контролируете время жизни объекта формы, поэтому использование обработчика Terminate для этого является плохой идеей.

См. UserForm1.Show для более глубокого погружения в пользовательские формы в VBA.

...