powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Создание класса пользователя (всё забыл!!!)
3 сообщений из 3, страница 1 из 1
Создание класса пользователя (всё забыл!!!)
    #39950611
АндрейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давно с VBA не работал, но вот понадобилось...
Excel. На форме ряд кнопок. Решение "в лоб" - вызов общей процедуры, которая в зависимости от нажатой кнопки, что-то там совершает. Сделал. Работает. Но в коде, для каждой кнопки, на событие Click приходится писать: Call myFunction(...) ...
Вспомнил, что как-то можно сделать через класс пользователя, который будет отслеживать нажатие кнопки и совершать необходимые действия...
Но на этом память(моя ) дала сбой...
Как создать класс и как привязать к нему кнопки? Кнопки - постоянные, т.е. не добавляются кодом при открытии формы через Add, а созданы в конструкторе...
...
Рейтинг: 0 / 0
Создание класса пользователя (всё забыл!!!)
    #39950897
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АндрейК,
да, все так, нужен класс с withevents и контейнер для хранения - я взял коллекцию, но можно и массив.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
[clsFormButton.cls]
Public WithEvents btn As CommandButton

Private Sub btn_Click()
    MsgBox btn.Caption
End Sub


[userForm1.frm]
Private colButtons As New Collection


Private Sub UserForm_Initialize()
    Dim objFormButton As clsFormButton
    
    Set objFormButton = New clsFormButton
    Set objFormButton.btn = btn1
    colButtons.Add objFormButton
    
    Set objFormButton = New clsFormButton
    Set objFormButton.btn = btn2
    colButtons.Add objFormButton
    
End Sub
...
Рейтинг: 0 / 0
Создание класса пользователя (всё забыл!!!)
    #39951020
АндрейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот спасибо то большое!
Про New то я и забыл в объявлении! Возраст, склероз... карантин...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Создание класса пользователя (всё забыл!!!)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]