Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Создание класса пользователя (всё забыл!!!) / 3 сообщений из 3, страница 1 из 1
23.04.2020, 17:06
    #39950611
АндрейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание класса пользователя (всё забыл!!!)
Давно с VBA не работал, но вот понадобилось...
Excel. На форме ряд кнопок. Решение "в лоб" - вызов общей процедуры, которая в зависимости от нажатой кнопки, что-то там совершает. Сделал. Работает. Но в коде, для каждой кнопки, на событие Click приходится писать: Call myFunction(...) ...
Вспомнил, что как-то можно сделать через класс пользователя, который будет отслеживать нажатие кнопки и совершать необходимые действия...
Но на этом память(моя ) дала сбой...
Как создать класс и как привязать к нему кнопки? Кнопки - постоянные, т.е. не добавляются кодом при открытии формы через Add, а созданы в конструкторе...
...
Рейтинг: 0 / 0
24.04.2020, 11:32
    #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
24.04.2020, 14:53
    #39951020
АндрейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание класса пользователя (всё забыл!!!)
Вот спасибо то большое!
Про New то я и забыл в объявлении! Возраст, склероз... карантин...
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Создание класса пользователя (всё забыл!!!) / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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