Закрыть документ Calc из диалогового окна

Автор Ingwar, 31 октября 2024, 15:40

0 Пользователи и 1 гость просматривают эту тему.

Ingwar

Здравствуйте!
Подскажите пожалуйста как закрыть документ Calc из диалогового окна, нажатием на кнопку, чтобы после закрытия не выдавало ошибку.

bigor

Поддержать наш форум можно здесь

Ingwar

Кнопка на диалоговое окне, если кнопка на листе, вопросов нет, все прекрасно закрывает, а если в диалоге, даже если разбить Макрос на части через Call, сначала закрыть диалог, затем сохранить, а затем закрыть Doc. После закрытия выдаёт ошибку, и при повторном открытии предлагает востановить документ.

sokol92

#3
Нужно действовать аккуратно. Модальный диалог обязательно должен завершиться и управление передаться процедуре, вызвавшей диалог:
retCode=oDialog.execute()
Далее, вызывающая диалог процедура может проанализировать код возврата (retCode) и при необходимости закрыть документ.

Стандартные коды возврата:
0 - нажата кнопка Cancel, клавиша Esc, "крестик", закрывающий окно.
1 - нажата кпопка "OK", клавиша Enter (при определенных настройках диалога).

Иной код возврата (например, 2) можно установить с помощью метода endDialog
oDialog.endDialog 2
Именно так лучше поступить в процедуре обработки нажатия кнопки. Вызывающая процедура должна при retCode=2 закрыть документ.
Владимир.

Ingwar


sokol92

Владимир.

Ingwar


Ingwar

Еще раз огромное спасибо, даже не мог себе представить чтобы корректно закрыть диалог надо закрытие заложить в процедуру его открытия, а потом выполнить условие.
Спасибо!

sokol92

Владимир.