Могу ли я что-то отобразить во время работы макроса? - PullRequest
4 голосов
/ 04 ноября 2011

У меня есть макрос, выполнение которого занимает около пяти секунд, и я использую код Application.ScreenUpdating = False, поэтому похоже, что Word заблокирован во время работы.

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

Возможно, есть более простой способ сделать это, но я решил создать изображение, создать очень простую пользовательскую форму и просто установить свое изображение в качестве фона. Затем у меня появляется эта пользовательская форма, как только код начинает работать.

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

1 Ответ

6 голосов
/ 04 ноября 2011

Вы можете показать пользовательскую форму как немодальную:

Userform1.Show False
'do more stuff (doesn't wait for form to close)
Userform1.Hide
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...