[CDR 2022] сбой интерфейса после работы макроса.

DukereD

макрософил
Топикстартер
Сообщения
462
Реакции
114
Иногда (не всегда, ошибка плавающая) после работы макроса бывает так, что при выделении объектов не обновляет интерфейс(т.е. поля размера неактивны и тп..)
как принудительно вывести корел из спячки?
иногда помогает Ctrl+Z но не всегда.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 187
Реакции
10 844
По моему это необратимо, у меня только через перезагрузку корела лечится
 

lev

Модератор
20 лет на форуме
Сообщения
2 145
Реакции
2 071
Обычно бывает после сбоев в работе макроса, в котором для ускорения работы отключены реакции интерфейса и т.п.
Я себе на кнопку посадил
Код:
Sub endd()
  EventsEnabled = True
  Optimization = False
  Refresh
End Sub
Можно ещё ActiveDocument.EndCommandGroup добавить и т.п.
 
Последнее редактирование:
  • Спасибо
Реакции: DukereD

DukereD

макрософил
Топикстартер
Сообщения
462
Реакции
114
Обычно бывает после сбоев в работе макроса, в котором для ускорения работы отключены реакции интерфейса и т.п.
Я себе на кнопку посадил
ну оптимизацию это понятно. после сбоя отключать можно
но дело в том, что такое бывает и после корректного выполнения макроса. макрос отработал без ошибок а интерфейс "замёрз"

я вот такую структуру использую

Код:
On Error GoTo errn
        Application.Optimization = True
        For Each s In os.Shapes
.
        Next s
errn:
        Application.Optimization = False
        Application.Refresh
но не помогает совсем.
 
Последнее редактирование:

DukereD

макрософил
Топикстартер
Сообщения
462
Реакции
114
Да EndCommandGroup помогло! Спасибо.
Есть у меня кнопка "лечилка" там такой код

Код:
    EventsEnabled = True
    Application.Optimization = False
    Application.Refresh
    DoEvents
    ActiveDocument.EndCommandGroup

вот только что добавил именно последнюю строчку.
т.е. получается что если объявить "логические скобки" для UNDO (ActiveDocument.BeginCommandGroup), то если их не закрыть интерфейс висит.
а когда закрываешь командой .EndCommandGroup
вроде отмирает.
 

DukereD

макрософил
Топикстартер
Сообщения
462
Реакции
114
Не помогло. отлаживал в очередной раз макрос . ловил ошибки и в какой-то момент интерфейс таки замер безвозвратно (((
 

Акулыч

Участник
Сообщения
29
Реакции
10
иногда помогает просто создать/открыть новый документ, переключиться на него, а потом вернуться к прежнему.
 
  • Спасибо
Реакции: DukereD