Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2010, 13:15   #1
Oooleg
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 39
По умолчанию Непонятный глюк с отображением прогресбара

Здравствуйте Господа програмеры!

Может кто-нибудь подскажет почему происходит нижеописанный глюк.

При открывании книги, запускается цепочка макросов выполняющих обновление данных из внешних источников. После чего еще выполняется обработка данных внутри книги. Ввесь процесс занимает 10-20 сек. Чтобы во время обновления пользователь не нервничал, я вывожу форму с прогресбаром который отображает состояние процесса обновления. ScreenUpdating отключен.
Так вот, периодически по непонятным для меня причинам прогресбар перестает обновляться, гдето в первой половине процесса обновления. Возникает впечатление что Excel завис, хотя на самом деле выполнение макросов не прекращается, но это становится понятно только после окончания их работы когда прячется форма с прогресбаром и включается ScreenUpdating. Выглядит некрасиво...
Но такое происходит не всегда. В большей части случаев запуска все происходит так как и задумано: прогресбар обновляется вплоть до 100% при отключеном ScreenUpdating, после чего пользователь может лицезреть результаты обновлений.

... я так понимаю что при определенном стечении обстоятельств Excel сам отключает все обновления, т.к. подобное наблюдается например если выполнять какой-нибудь длительный макрос без отключения ScreenUpdating, на какойто стадии выполнения обновление отключается само. Если это так то как и где с этим бороться?

Сейчас пользую Excel 2010(Demo), но подобные глюки наблюдал и в других проектах когда пользовал Excel 2007 (на счет 2003 незнаю...)



Может кто-нибудь сталкивался с подобной некрасивостью и знает как ее победить... Подскажите пожалуйста.

Последний раз редактировалось Oooleg; 23.02.2010 в 13:21.
Oooleg вне форума Ответить с цитированием
Старый 23.02.2010, 14:35   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

я думаю такая пилюля вылечит глюк
Код:
ProgressBar1.Value = ProgressBar1.Value + 1
DoEvents
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 23.02.2010, 15:05   #3
Oooleg
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 39
По умолчанию

Спасибо, попробую...
Oooleg вне форума Ответить с цитированием
Старый 23.02.2010, 15:07   #4
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Еще можно попробовать
Код:
UserForm1.ProgressBar1.Value = UserForm1.ProgressBar1.Value + 1
UserForm1.Repaint
UserForm1 - форма с ПрогрессБаром.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 23.02.2010, 15:38   #5
Oooleg
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 39
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Еще можно попробовать
Код:
UserForm1.ProgressBar1.Value = UserForm1.ProgressBar1.Value + 1
UserForm1.Repaint
UserForm1 - форма с ПрогрессБаром.

Пробовал.
Проблема не исчезает. Вдобавок, при перерисовывании формы возникает неэстетичное мерцание формы, что выглядит еще хуже...
Oooleg вне форума Ответить с цитированием
Старый 23.02.2010, 22:19   #6
novak_26
Пользователь
 
Аватар для novak_26
 
Регистрация: 23.02.2010
Сообщений: 39
По умолчанию

подскажите, плз, где можно взять процедуру с кодом прогресс-бара (или скиньте сюда). Можно любую работающую, хотя мне хочется свои gif-картинки куда линками вставлять и чтобы рядом показывался процент выполнения задачи.
novak_26 вне форума Ответить с цитированием
Старый 23.02.2010, 22:38   #7
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Создайте свой на базе контрола Image
Что хотите,то и будет показывать и проценты так же
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 25.02.2010, 19:15   #8
novak_26
Пользователь
 
Аватар для novak_26
 
Регистрация: 23.02.2010
Сообщений: 39
По умолчанию

кажется, нашел )
http://www.programmersforum.ru/showt...631#post148631
novak_26 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
непонятный скрипт osven JavaScript, Ajax 0 07.02.2010 06:13
непонятный баг brain-bras Общие вопросы C/C++ 4 14.10.2009 21:26
Непонятный синтаксис. jojahti Общие вопросы C/C++ 10 14.10.2009 19:05
Непонятный глюк Delphi 2009 aesoem Общие вопросы Delphi 3 15.08.2009 12:30
непонятный код Kostua Помощь студентам 5 27.04.2008 18:17