Управление встроенным прогрессбаром в Excel

Программирование на Visual Basic for Applications
ZlydenGL
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 148
Зарегистрирован: 13.08.2004 (Пт) 10:02

Управление встроенным прогрессбаром в Excel

Сообщение ZlydenGL » 07.12.2006 (Чт) 19:20

Добрый день, уважаемые товарищи и иже с ними :)

Для визуализации стадии отработки приложения VBA в Excel хочу вывести пользователю какой-то прогрессбар, в идеале - встроенный в Excel. Только вот не могу найти, как к нему обратиться. Может кто сталкивался?

Пользую Office 2k3
Покой нам только снится!!! И то редко. Поскольку нет в мире совершенства, а есть только стремление к оному.

Pavel55
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 27.10.2006 (Пт) 20:11

Сообщение Pavel55 » 08.12.2006 (Пт) 11:45

Вложения
ProgressBar.rar
(11.01 Кб) Скачиваний: 153

ZlydenGL
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 148
Зарегистрирован: 13.08.2004 (Пт) 10:02

Сообщение ZlydenGL » 11.12.2006 (Пн) 13:40

Pavel55, огромное спасибо!!! БОльше всего понравился вот этот способ:

http://www.vbrussian.com/Article.asp?msg=1&ID=105

Просто, доступно, безглючно (почти ;) ) ИМХО - достойно для подключения в проект :)

Еще раз - 10х!!! :oops:
Покой нам только снится!!! И то редко. Поскольку нет в мире совершенства, а есть только стремление к оному.

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 11.12.2006 (Пн) 21:44

Привет,
KL

ZlydenGL
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 148
Зарегистрирован: 13.08.2004 (Пт) 10:02

Сообщение ZlydenGL » 12.12.2006 (Вт) 10:46

KL, спасибо за ссылки :)

Больше всего понравились варианты
http://vangelder.orcon.net.nz/excel/progressbar.html
http://erlandsendata.no/english/index.p ... rogramming (вообще чума!!! Сверхпросто! Как сам не додумался?)

Остальное - реализация через внешние библиотеки или юзверьформы, от этого стараюсь по максимуму уходить.
Покой нам только снится!!! И то редко. Поскольку нет в мире совершенства, а есть только стремление к оному.

ZlydenGL
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 148
Зарегистрирован: 13.08.2004 (Пт) 10:02

Сообщение ZlydenGL » 12.12.2006 (Вт) 17:24

В результате собрал себе такой класс (вдруг кому пригодится?)

В константы Const cProgressWidth и cProgressLeft заносится ширина прогрессбара и отступ от левого края соответственно.

Пример использования:

Код: Выделить всё
Set mypgb = New clsPrgBar

With mypgb
     .Max = Application.Worksheets.Count
     .Min = 0
     .Text = "Выполняю"
End With

For Each WS In Activeworkbook.Worksheets
     ...
     mypgb.Value = mypgb.Value + 1
     mypgb.ShowProgress
Next WS

Set mypgb = Nothing
Вложения
clsPrgBar.doc
Класс прогрессбара для Excel (после скачивания сменить расширение на cls!!!)
(3.6 Кб) Скачиваний: 175
Покой нам только снится!!! И то редко. Поскольку нет в мире совершенства, а есть только стремление к оному.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 26

    TopList