Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > Visual Basic
Перезагрузить страницу не обновляются данные на форме при работе макроса
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Pavel55 Pavel55 вне форума
Member
 
Сообщений: 226
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.07.2006
По умолчанию 25.08.2006, 23:56

Добрый день, у меня проблема в обновленни текста в объекте Label, который находится на форме. Эта форма отображается пока идёт расчёт макроса, чтобы пользователь ждал окончания расчётов. На этой форме есть и прекрасно работает ProgressBar1 и значение его меняется от 1 до 100 (бегает синенькая полоска) и ещё я хочу, чтобы над этоим ProgressBar'ом цифрами писался процент выполнения программы, так же от 1 до 100 %, но почему-то ProgressBar меняется, а вот значение в объекте Label не меняется, т.е. остаётся на одном начальном значении, если я трессирую макрос через F8, то значение в Label меняется, а если запускаю макрос через F5, то значения не меняется - оно как бы замораживается (не успевает измениться). Из-за чего это может происходить ? и как заставить изменяться значение в Label?

Код:
WaitForm.ProgressBar1.Value = iProcent * MyRow
'эта строка работает и синенькая полоска бегает
Код:
WaitForm.Label4.Caption = CStr(Round(iProcent * MyRow))
'а это значение не меняется, как бы замораживается и показывает начальное значение

эти строки идут всегда вместе и значения показывают одно и тоже. Но не понимаю почему ProgressBar обновляется, а текст в Label не обновляется (но обновляется при трессировании). Если во время выполнения макроса нажимаю Ctrl+Break, то текст в Label4 сразу меняется на правильное значение. Пробывал как с Application.ScreenUpdating = False, так и с True - всё равно значение не меняется. Свойство формы ShowModal = False
Ответить с цитированием
  (#2 (permalink)) Старый
Voldyr Voldyr вне форума
Member
 
Сообщений: 50
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.08.2006
По умолчанию 26.08.2006, 00:41

попробуй после строки изменения значения Label
( WaitForm.Label4.Caption = CStr(Round(iProcent * MyRow)) )
добавить строку обновления формы
WaitForm.Refresh
Ответить с цитированием
  (#3 (permalink)) Старый
Pavel55 Pavel55 вне форума
Member
 
Сообщений: 226
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.07.2006
По умолчанию 26.08.2006, 01:08

угу, спасибо всё заработало )) только форма в VBA не имеет метода Refresh, она имеет метод Repaint, поэтому нужен код такой WaitForm.Repaint и действительно всё обновляется. Огромное спасибо за подсказку!
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как с помощью макроса посчитать и отобразить НДС на форме ВБА Лева Visual Basic 0 14.11.2009 22:14
Запуск макроса из функции или из макроса в Excel tim13 Visual Basic 1 17.08.2009 18:59
Не обновляются драйвера для видюхи. Подпольщик Видеосистема 7 27.04.2008 03:37
Почему не обновляются значки ярлыков на рабочем столе? CJинг Любые вопросы от новичков 1 04.03.2008 20:21
Надо ввести данные и по ним построить графики данные вводятся в TValueListEditor preya C++ Builder 10 19.09.2006 02:10
Отмена макроса kminas Visual Basic 3 26.04.2006 01:18
как из макроса ... LSA Visual Basic 3 19.12.2005 15:53
В работе транспорта не учитываются данные с необходимых полей таблицы Rsever Delphi 15 27.10.2005 13:21
Как считать данные из файла в Edit на форме iNq Visual C++ 1 28.07.2005 11:20
данные в форме Bonnie PHP 10 16.06.2004 17:47
Как при работе с сокетами определить данные ответа Anonymous Вопросы начинающих программистов 0 16.12.2003 00:57
При работе с word компилятор отказывается обрабатывать данные Sysdba C++ Builder 0 22.05.2003 10:51



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов