Блокировка при работе макроса

  • Автор темы Автор темы dizzy
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

dizzy

Участник
Топикстартер
Сообщения
425
Реакции
1
Подскажите как при работе макроса (VBA), блокировать любые действия пользователя. Ну чтоб он не смог ни как повлиять на его работу. А то еще ткнет не туда, слетят выделения или еще чего....
 
Ответ: Блокировка при работе макроса

если это СКРИПТ (CorelSCRIPT), то не знаю, не исползовал
если это МАКРОС, то зависит от того чем занимется макрос, текст в студию.
Обычно если макрос не взаимодействует с пользователем (типа GetUserClick и т.п.) то ничего пользователь во время работы макроса сделать не сможет
 
Ответ: Блокировка при работе макроса

Теоретически в обоих случаях должны помочь CorelScriptTools.BeginWaitCursor, CorelScriptTools.EndWaitCursor, но сам я их не пробовал.
А во время работы макроса пользователь может сделать довольно много, например: начинающие пользователи вместо присвоения активного объекта именованному шейпу, и дальнейшей работы уже с ним, постоянно меняют выделение и работают с активным объектом. При случайном клике выделение снимается или меняется, что приводит к некорректной работе макроса. Некоторые берут данные в цикле с формы, что позволяет изменить данные на форме во время работы макроса и изменить его поведение, и т.д. и т.п.
 
Ответ: Блокировка при работе макроса

lev сказал(а):
А во время работы макроса пользователь может сделать довольно много...
Вот вот... О чем и речь. Именные шэйпы конечно хорошо. Однак без выделений порой тоже не обойтись. На пример при экспорте селекшена.

А то ведь оно как обычно бывает, машина раз возьмет да и зависнет. Типа работает, однак не видно результатов. И начинают нетерпеливые тыкать куда попало. А потом такие результаты получаются, что хоть стой хоть падай. Ладно попробую ваш метод... авось проканает..

Пасибо:)
 
Ответ: Блокировка при работе макроса

Для долгих макро используйте Application.appStatus - инфо на forum.oberonplace.com в поиске
 
Статус
Закрыто для дальнейших ответов.