|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.06.2016, 10:12 | #1 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 325
|
Добавить индикатор процесса в код макроса
Здравствуйте Уважаемые программисты!
Подскажите пожалуйста как в код ниже (excel 2003. Код срабатывает при открытии книги Excel и создает листы с именами таблиц из файла mdb) добавить progressBar (т.е. изменение, например, ширины Label-а на форме, которая открывается в начале и скрывается по окончании кода)? Заранее спасибо! Код:
|
21.06.2016, 10:22 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Первоочередное - нужен цикл от 1 до количества этих TableDefs, ну или их счётчик (с известным максимальным числом), ну а далее уже можно приладить любой доступный прогресбар, а их много разных.
Но мне всегда хватает обычного статусбара.
webmoney: E265281470651 Z422237915069 R418926282008
|
21.06.2016, 10:24 | #3 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
EducatedFool имеет статью по прогрессбаре. Смотрите у него на сайте
Цикл по всех TableDefs или только где есть *Sys*?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
21.06.2016, 10:33 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Думаю можно по всем - да и проще так. Ну будет рывками бежать... и пусть. И думаю не особо будет разница - сколько там времени занимает создание листа, практически ничего.
webmoney: E265281470651 Z422237915069 R418926282008
|
21.06.2016, 11:04 | #5 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 325
|
Спасибо за обсуждение.
Скажите пожалуйста, если допустим известно количество TableDefs, т.е. в начале кода их количество определяется. То как написать цикл (по всем TableDefs где нет в имени*Sys*) от 1 tb до последней tb менять например ширину Label-а на форме (как индикатора)? Хотелось бы попробовать прогрессбар, т.к. после добавления листа идет еще код его наполнения, но думаю привязать цикл к количеству этих таблиц. Последний раз редактировалось ольгаг; 21.06.2016 в 11:09. |
21.06.2016, 11:30 | #6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
см. вложение
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
21.06.2016, 11:39 | #7 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
можна в RecordSet загнать запрос который считает количество таблиц.
потом в цикле от 1 до recordset.recordcount делать что-то типа Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
21.06.2016, 11:42 | #8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Цикл по всем таблицам ведь уже есть - просто внутри поставьте счётчик i=i+1, к нему и привязывайте прогресс. К счётчику и конечному известному значению.
webmoney: E265281470651 Z422237915069 R418926282008
|
21.06.2016, 12:34 | #9 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 325
|
Спасибо большое, попробую сделать.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как добавить листы при работе макроса? | Smile7 | Microsoft Office Excel | 3 | 09.11.2012 13:57 |
Оптимизировать код макроса | manowar_gub | Microsoft Office Excel | 2 | 03.06.2012 19:52 |
Есть макрос. Надо в него добавить вывод на печать после каждого процесса. | Ogeris | Microsoft Office Excel | 1 | 01.11.2010 07:55 |
Написать код макроса | Trimbl | Microsoft Office Excel | 2 | 15.10.2009 03:51 |
код для макроса | oboevrulon | Microsoft Office Excel | 7 | 10.06.2009 10:39 |