Вернуться   Форум программистов > Форум Программирование > Форум VBA

VBA

Программирование на VBA

Ответ
 
Старый 26.09.2006, 12:24   #1
mentos_has_arisen
Местный
 
Регистрация: 20.09.2003
Сообщений: 244
mentos_has_arisen пока не определено
По умолчанию Индикатор выполнения процедуры

<SPAN id=ctl03_ctlTopic_ctlPanelBar_ctlTopicsRepeater_ct l04_lblFullMessage>В процедуре по ходу её выполнения, должно меняться значение поля (% выполнения + установка квадратиков из visible=false в true) Так вот не хочет энтого делать. Поле обновляется только в завершениии выполнения.. тобишь сразу 100% .. Если вызываю MsgBox в процессе (для проверки).. все нормально.</SPAN>
<SPAN>Это (состояние выполнения задачи) необходимо, т.к. из БД эксотируется огромное колличество записей причем в определенном формате для верстки в газету... а так, как люди с прогой работают не продвинутые пользователи.. начинають жать все подряд...</SPAN>
<SPAN> <STRONG><FONT color=#dd3333>Можно ли заменить MsgBox чем нибудь невидимым, что произвело тот же результат обновления? Или чего-то по-другому можно?</STRONG></SPAN>
mentos_has_arisen вне форума  
Старый 26.09.2006, 15:54   #2
R1001
Местный
 
Регистрация: 03.07.2003
Сообщений: 118
R1001 пока не определено
По умолчанию RE: Индикатор выполнения процедуры

Все зависит от того, как устроена процедура, где она расположена, сама по себе или в форме. Возможно, достаточно оператора DoEvents, который надо вставить в основной цикл, а может надо перенести процедуру в форму.
ЗЫ. Здесь без исходника трудно разобраться :-(
Я например, когда-то сделал свой ProgressBar из простых Label, но все равно управлять им можно, соблюдая некоторые условия.
R1001 вне форума  
Старый 26.09.2006, 16:06   #3
mentos_has_arisen
Местный
 
Регистрация: 20.09.2003
Сообщений: 244
mentos_has_arisen пока не определено
По умолчанию RE: Индикатор выполнения процедуры

Впринципе идея именно сделать типа прогрессБара, тока я его не настраивал никогда... а надо то всего лишь просто отобразить процесс...
Значит процедура на форме. Нажимаешь кнопку и идет цикл по ADODB.Recordset с форматированием данных и записью в файл rtf. Данных много, потому необходима визуализация процесса. Итого:
-процедура на форме;
-в цикле необходимо изменять значение поля.
Кажется просто, но не изменяется.
С прогрессБаром я б поигрался.. только инфы нет.. все равно пригодится
<FONT color=#3333dd>Спасибо за отклик.
mentos_has_arisen вне форума  
Старый 26.09.2006, 16:38   #4
poiskxxx
Местный
 
Регистрация: 25.06.2004
Сообщений: 102
poiskxxx пока не определено
По умолчанию RE: Индикатор выполнения процедуры

Пример работы с прогрессбаром.

Что непонятно-спрашивай.
poiskxxx вне форума  
Старый 26.09.2006, 16:58   #5
vlth
Местный
 
Регистрация: 14.01.2004
Сообщений: 636
vlth пока не определено
По умолчанию RE: Индикатор выполнения процедуры

Цитата:
<SPAN id=ctl03_ctlTopic_ctlPanelBar_ctlTopicsRepeater_ct l07_lblFullMessage><SPAN id=ctl03_ctlTopic_ctlPanelBar_ctlTopicsRepeater_ct l04_lblFullMessage>В процедуре по ходу её выполнения, должно меняться значение поля (% выполнения + установка квадратиков из visible=false в true) Так вот не хочет энтого делать. Поле обновляется только в завершениии выполнения.. тобишь сразу 100% .. Если вызываю MsgBox в процессе (для проверки).. все нормально.</SPAN></SPAN>
Скорее всего, в цикл нужно добавить перерисовку формы (UserForm.Repaint).
vlth вне форума  
Старый 26.09.2006, 17:49   #6
poiskxxx
Местный
 
Регистрация: 25.06.2004
Сообщений: 102
poiskxxx пока не определено
По умолчанию RE: Индикатор выполнения процедуры

Тот-же пример с прогрессбаром,

но добавлен расчет времени ОКОНЧАНИЯ процедуры.

Надеюсь тебе поможет!
poiskxxx вне форума  
Старый 26.09.2006, 20:12   #7
mentos_has_arisen
Местный
 
Регистрация: 20.09.2003
Сообщений: 244
mentos_has_arisen пока не определено
По умолчанию RE: Индикатор выполнения процедуры

Уже помогло, <FONT color=#dd33dd>спасибо
mentos_has_arisen вне форума  
Старый 25.10.2006, 19:37   #8
Михря
Новичок
 
Регистрация: 20.10.2004
Сообщений: 26
Михря пока не определено
По умолчанию RE: Индикатор выполнения процедуры

<FONT color=#000000 size=3><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <FONT size=2>Вопрос на туже тему про градусник. </P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <?xml:namespace prefix = o ns = "urn:schemas-microsoft-comfficeffice" /><o><FONT size=2> </o></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <FONT size=2>Стоит задача любыми путями и средствами сделать отображение визуально % выполнения.</P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <FONT size=2>Процедура стоит на<SPAN style="mso-spacerun: yes </SPAN>батоне помещённом в форму. Сама процедура не циклична и выполняется один раз (250 ячеек <FONT face=Verdana><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-fareast-font-family: 'Times New Roman' mso-ansi-language: RU; mso-fareast-language: RU; mso-bidi-language: AR-SA поочерёдно </SPAN>копирует в буфер из одной книги и вставляет в другую). </P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <FONT size=2>Проблема стоит в том как посчитать сколько осталось %.</P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <FONT size=2>Вариант с вставкой походу процедуры нового значения градусника не подходит, т.к. похожих процедуры 4 шт. и в каждом коде вставлять значение проблематично + есть вариант, что я ошибусь со значением градусника и значение будет не корректно отображаться.</P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <o><FONT size=2> </o></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <FONT size=2>Есть ли вариант посчитать количество выполняемых действий и соответственно менять значение градусника исходя (выполненное кол-во/100)? </P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt
Михря вне форума  
Ads
Ответ
Опции темы

Похожие темы
Тема Автор
VBA Как использовать свой массив в статических функциях?
<SPAN class=postbody>Помогите плиз!!!! есть функция типа: Application.WorksheetFunction.Median(1, 2, 3....) Как мне вместо стандартных аргументов подставить массив??? У меня не...
romantimo
Перенос данных из одной книги Excel в другую и обратно VBA
Доброго времени суток, господа! Такой вопрос: Нужно из формы, которая представляет из себя анкету перекинуть данные в другую книгу, где они будут храниться в обычной табличке. Это нужно для того,...
FunkyTrain
Работа с файлами,вывод всех переменных из файла VBA
Здравствуйте форумчане, мучает меня одна проблема,просто не могу как. А заключается в следующем: Sub Read_File_5S() '=============================================== ' Читаем данные из файла...
Mypppka
VBA Как при помощи пользовательской функции vba в excel решить такую проблему:
Как при помощи пользовательской функции vba в excel решить такую проблему: дано: два массива данных; "список 1"; "список 2", зависящий от "список 1"; характеристики, которые есть и в первом и во...
Rascen
Мне необходимо из макроса Excel запустить макрос Word. VBA
Мне необходимо из макроса Excel запустить макрос Word. Вот описание макроса Word: Public Sub Start() msgbox "Yes" end sub Вот описание макроса Excel Private Sub GetStarting() dim App as Object...
Well78
VBA Правильное создание UserForm в Excel
Господа, всем респ!!! Помогите.... Нужно сделать анкету в excel? но чтоб она была кресивая..))) я делал при помощи "элементов управления", но запарно делать перескакивания из окошко в...
FunkyTrain



Текущее время: 11:51. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

Рейтинг@Mail.ru