Опрос
Вы участвуете в программе Windows Insider?
Популярные новости
Обсуждаемые новости

07.07.2006 02:10 | lexa

Один из членов нашей команды недавно заметил проблему с кодом Excel VBA, запущенном на Windows Vista (то же самое встречается и на Windows XP, но более выражено это в Windows Vista), таким образом я решил написать об этом...

Пока это не тот вид проблемы, к которой команда Excel может с легкостью обратиться, но это является ценным для VBA разработчиков, и давайте посмотрим, как люди могли бы повести себя в этой ситуацией.

Вопрос состоит в том, как Excel ведет себя, когда VBA код загружается непрерывно более 5 секунд – например когда вы запускаете какой-нибудь вид цикла, который длится более 5 секунд. На Windows XP приблизительно после 5 секунд, если пользователь начинает нажимать на приложение, чтобы посмотреть что произошло, он получает сообщение “Not Responding” (Не отвечает) в заголовке программы (чего многие люди не замечают).



Поведение Excel на Windows Vista такое же, но с одним исключением – в Vista сделали так, чтобы пользователю было более понятно о том что приложение “Not Responding” (Не отвечает). В том смысле, что приложение имеет вид, названный “инеем”, что означает, что когда пользователь начинает щелкать вокруг окна, все окно принимает полупрозрачный вид (Те из вас кто живет в северном климате узнают его как иней(похоже на вид окна зимой – прим. переводчика)), тем самым намекая пользователю что случилось что-то нехорошее(произошла ошибка). Словом, произошло изменение в Windows Vista, в сравнении с Windows XP, в контроле приложения, когда то не отвечает



Это может быть полезным во многих случаях, но все же не лучшая идея если какое-либо приложение будет запущено поверх вашего документа Excel.

Поскольку зависание происходит от того, что Office не может послать сообщение для ОС, когда запущен макрос(самая простая работа включает запрос DoEvents в коде, чтобы произвести обработку посланного сообщения), то в результате выполнения цикла, требующего времени – происходит преобразование вида окна в “иней” и появляется “Not Responding” (Не отвечает) в заголовке приложения.

Источник: http://blogs.msdn.com/excel/
Перевод: lexa

Комментарии

Не в сети

М-да... Если НГ встречать под пальмой, то реально на иней похоже... наверное

07.07.06 12:28
0
Для возможности комментировать войдите в 1 клик через

По теме

Акции MSFT
420.55 0.00
Акции торгуются с 17:30 до 00:00 по Москве
Все права принадлежат © ms insider @thevista.ru, 2022
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 2.34 (Страница создана за 0.093 секунд (Общее время SQL: 0.074 секунд - SQL запросов: 55 - Среднее время SQL: 0.00135 секунд))
Top.Mail.Ru