|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.10.2009, 16:56 | #1 |
Пользователь
Регистрация: 26.09.2009
Сообщений: 15
|
Динамический массив элементов управления в VBA
В VB делается легко и просто, а вот как на VBA?
Тема старая, но информации по ней и на этом форуме и в других местах очень мало. По крайней мере, у меня поиск занял много времени. Поэтому, не сочтите за наглость, выкладываю пример решения Код:
|
07.10.2009, 13:33 | #2 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Можно обойтись без массива. Если уж начали использовать классы, то создать отдельный класс, в котором хранить коллекции компонентов, и добавлять элементы с событиями не в массив, а в эти коллекции.
Лучше день потерять — потом за пять минут долететь!©
|
07.10.2009, 14:07 | #3 | |
Пользователь
Регистрация: 26.09.2009
Сообщений: 15
|
Цитата:
2. Мне удобнее как раз в массив. У меня данные в массивах и желательна единая индексация. Можно, конечно, пересчитывать индексы, но это лишняя путаница. |
|
07.10.2009, 14:19 | #4 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Это даст выигрыш в быстродействии
Лучше день потерять — потом за пять минут долететь!©
|
02.07.2017, 04:37 | #5 |
Новичок
Джуниор
Регистрация: 05.09.2015
Сообщений: 1
|
Не работает обработка событий в textbox и checkbox. не определяет номер элементов.
как быть? |
16.08.2018, 22:13 | #6 |
Новичок
Джуниор
Регистрация: 16.08.2018
Сообщений: 1
|
Специально зарегистрировался на этом форуме, дабы сообщить, что код автора работает, только в модуле классе перед запуском исполнительных процедур необходимо вычислить IndexInArray.
Я так же прошел долгий путь по просторам интернета. И вслед за профессорами программирования на vbstreets (http://bbs.vbstreets.ru/viewtopic.php?p=37547#37547) попытался сделать навороченную обертку. Но запустить ее так и не сумел. Наткнулся на решение на cyberforumе ( http://www.cyberforum.ru/vba/thread4...ml#post2460384), и когда интегрировал - увидел, что не задан IndexInArray. Решение с киберфорума - дополнительно в Tag новых элементов управления вносится NContr. Это и будет IndexInArray. Решение можно расширить в любую сторону - можно удалять не группой элементы, можно обрабатывать индивидуально. Но у меня в проекте они именно группой. Хорошо, что решение не имеет привязки к листу Excel, поскольку у меня применено в CAD системе - там листа нет. Подгружаю готовый рабочий пример автора, интегрированный с примером с киберфорума |
08.01.2022, 22:36 | #7 |
Новичок
Джуниор
Регистрация: 08.01.2022
Сообщений: 1
|
Специально зарегистрировался на этом форуме, дабы сообщить, что код последнего автора полностью работоспособен. Ура, закончилось гугление!!!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамический список. Поиск и удаление элементов. | Paulo | Помощь студентам | 2 | 01.05.2009 12:37 |
создания элементов управления на turbo pascal | albatros | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 15.01.2009 19:15 |
Дан массив из N элементов (чисел),определить количество элементов кратных 3. | Woha | Общие вопросы C/C++ | 2 | 08.12.2008 13:12 |
Список элементов (Динамический массив) | SeverBaP | Помощь студентам | 7 | 28.11.2008 15:21 |