Страницы: 1
RSS
Привязать Progressbar к таймеру, как привязать импровизированный Progressbar к таймеру
 
Уважаемые друзья , помогите реализовать такую задачку

Суть такова , есть форма (UserForm2) на форме нарисован окрашенный цветом (Lable1) . И вот я хочу этот  (Lable1) вернее его параметр Widh (максимальное его значение 200 ) привязать к таймеру (время 1 минута) и запустить параллельно с выполнением основного макроса, отобразив таким образом условную визуализацию работы основного скрипта.

Очень прошу помочь, так как сам не могу справиться.
 
Цитата
axill_3d написал:
отобразив таким образом условную визуализацию работы основного скрипта.
Таким образом Вы отобразите не работу макроса, а именно тайиера.
 
Ну если к таймеру то можно так
 
Юрий М, дело в том , что в основном макросе слишком много разного рода циклов и переходов . Поэтому как альтернативу решил использовать таймер в отдельном процессе.  

msi2102, спасибо.к сожалению саму роботу  Progressbar  не увидел (матерится на библиотеку) очевидно это отдельный компонент . Но сам код я увидел и переделал под себя .

Код
Private Sub CommandButton1_Click()
Dim Start As Single
StartTimer = Timer + Me.TextBox_Timer.Value
Me.Progress_Label.Width = Me.TextBox_Timer.Value
Do While Timer <= StartTimer
    'Me.Label1.Caption = Format(Me.TextBox_Timer.Value - (StartTimer - Timer), "Standard")
    Me.Label1.Width = Me.TextBox_Timer.Value - (StartTimer - Timer)
   DoEvents
Loop
End Sub
Оно заработало - только теперь у меня два вопроса.  1.Как ускорить роботу таймера (слишком медленно движется шкала) привязка идет к параметру Width а он у меня 200 ?  2. В какое место скрипта добавить основной код (дабы оба процесса выполнялись одновременно) ?
 
Подскажите , очень нужно.  Как Время максимального значения  Label1.Width (от 0 до 200 ) установить на 1 минуту ?
 
Цитата
axill_3d написал: Время максимального значения  Label1.Width (от 0 до 200 ) установить на 1 минуту
Размер теперь в единицах времени измеряется? :)

Вопрос не по теме
 
Цитата
axill_3d написал:
Как ускорить роботу таймера
Быстрее раскрутить землю. Вам во втором сообщении Юрий М писал, что это будет привязка к таймеру.
Поймите правильно, для того, чтобы нам общаться на одном и том же языке, Вам необходимо как минимум прочитать ПРАВИЛА ФОРУМА особенно п. 2.3. поэтому сейчас это только догадки к чему и что у Вас привязано.
Почитайте ЗДЕСЬ у Дмитрия Щербакова
Изменено: msi2102 - 07.04.2021 10:42:47
 
Цитата
axill_3d написал:
2. В какое место скрипта добавить основной код (дабы оба процесса выполнялись одновременно)
Оттого, что вы два кода называете двумя процессами, они таковыми не становятся. А в VBA может выполняться только один код, но никак не два одновременно. Так что, куда ни вставляй, все равно работать не будет.
Ежели только вы не пишете код для того, чтобы поглядеть, как по таймеру работает прогрессбар.
Изменено: RAN - 07.04.2021 11:03:37
 
Цитата
axill_3d написал:
И вот я хочу этот  (Lable1) вернее его параметр Widh (максимальное его значение 200 )
axill_3d, Скорее всего вы используется не стандартный элемент ProgressBar, а на основе закрашенного Label и для того, чтобы разобраться в зависимости от чего меняется его параметр "Widh", необходимо видеть исходный код, поэтому без примера не получится подсказать.
Возможно макрос взят ОТСЮДА и изменения Label вызывается отдельной функцией, поэтому (со слов axill_3d,)
Цитата
дабы оба процесса выполнялись одновременно
Только остается не понятным, для чего привязывать к таймеру
Изменено: msi2102 - 07.04.2021 12:43:16
 
Цитата
RAN написал: Оттого, что вы два кода называете двумя процессами, они таковыми не становятся.
Цитата
msi2102 написал: Вам во втором сообщении Юрий М писал, что это будет привязка к таймеру.
А что в VBA не возможно запустить два процесса одновременно ?   А какже DoEvents ?  Мне казалось именно так это работает

Цитата
msi2102 написал: Скорее всего вы используется не стандартный элемент ProgressBar, а на основе закрашенного Label и для того, чтобы разобраться в зависимости от чего меняется его параметр "Widh",
Со скоростью шкалы я уже разобрался. Только учитывая комментарии выше это скорость уже не имеет значения.

Подскажите для решения вопроса касаемо привязки к основному скрипту нужно создавать новую тему или можно продолжить здесь ?
Страницы: 1
Читают тему (гостей: 1)
Наверх