Запуск макросов в фоновом режиме

Когда вы запускаете макрос в Excel, программа уделяет все свое внимание завершению макроса. (Звучит почти антропоморфно, не так ли?) Это означает, что, если макрос выполняет достаточно тяжелую обработку ваших данных, может показаться, что ваша система “зависла” во время обработки макроса.

Однако будьте уверены, что обработка макросов влияет только на Excel. Вы можете открыть другое приложение и работать в нем, пока фрагменты макроса будут работать в Excel в фоновом режиме. Конечно, внимание, уделяемое макросу вашей системой, вероятно, замедлит реакцию другой программы, но это зависит от версии Windows, которую вы используете в своей системе. Причина? Совместное использование ресурсов требует процесса, известного как Различные версии Windows по-разному обрабатывают многозадачность.

Вы можете задаться вопросом, как вы можете выполнять другую работу в Excel, когда программа занята выполнением макроса. Легко – просто откройте еще один экземпляр Excel (снова запустите его из меню «Пуск») и выполните другую работу. Все, что вам нужно сделать, это убедиться, что вы не пытаетесь работать с той же книгой (или книгами), которая используется макросами в вашем первом экземпляре Excel.

Другой способ сделать немного работы – это немного изменить ваш макрос. Скорее всего, если ваш макрос выполняется в течение длительного периода, это связано с тем, что он выполняет цикл определенного типа. Добавив в цикл команду DoEvents, макрос временно приостановит выполнение и вернет управление процессам пользователя. Итак, если вы нажали клавишу, щелкнули мышью или начали что-то печатать, DoEvents заметит это и выполнит все задачи, необходимые для выполнения того, что вы хотите. Когда весь пользовательский ввод обработан, макрос благополучно продолжает свой путь.

Добавление DoEvents несколько замедляет ваш макрос, но позволяет вам немного продолжить работу. (Поймите, что Excel по-прежнему будет работать медленно; ваш макрос требует ресурсов для запуска.) Добавление DoEvents также может предоставить возможность выйти из макроса (используя Ctrl + Break ) контролируемым образом. .

Однако помните, что вы можете выяснить, что лучше всего работает в вашей ситуации, только путем тестирования (и дополнительного тестирования).

Источник: frestage.ru

Бытовой вопрос