Страница: 1 |
Страница: 1 |
Вопрос: Обработка нажатия кнопок на форме
Добавлено: 28.08.09 01:27
Автор вопроса: Swarok
Люди, плиз, нужна помощь, ибо торможу.
У меня есть форма, на которой присутствует большое количество кнопок. Помогите пожалуйста с кодом, который бы обрабатывал нажатие любой (!) кнопки (CommandButton) на этой форме. Так, чтобы не писать код для каждой.
Заранее спасибо
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #1
Добавлено: 28.08.09 03:00
В вба нет массива контролов.
Мы тут както рассматривали большое кол-во конролов на форме вба, но помоему не обработку событий.
Номер ответа: 2
Автор ответа:
AngryBadger
Вопросов: 33
Ответов: 245
Профиль | | #2
Добавлено: 28.08.09 09:46
Я, например, пишу код в отдельном модуле, а потом для каждой кнопки
Call MyCode
End Sub
Private Sub CommandButton2_Click()
Call MyCode
End Sub
Private Sub CommandButton3_Click()
Call MyCode
End Sub
Номер ответа: 3
Автор ответа:
fifa36
Вопросов: 33
Ответов: 116
Профиль | | #3
Добавлено: 28.08.09 12:58
А можно ведь написать публичную процедуру в "Модуле" и в свойствах обработки событий "Нажатие кнопки" указать эту процедуру. Хотя может я ошибаюсь)
Номер ответа: 4
Автор ответа:
GDK
Вопросов: 13
Ответов: 348
Профиль | | #4
Добавлено: 28.08.09 13:07
Нет массива контролов, зато есть массив as Variant. Писать в отдельном модуле, а ещё лучше в модуле класса - это по моему наилучший вариант.
Номер ответа: 5
Автор ответа:
GDK
Вопросов: 13
Ответов: 348
Профиль | | #5
Добавлено: 28.08.09 13:11
Можно и в самой форме написать публичную процедуру и тогда
Private Sub CommandButton1_Click()
call me.ёй(1)
End Sub
Private Sub CommandButton2_Click()
call me.ёй(2)
End Sub
Private Sub CommandButton3_Click()
call me.ёй(3)
End Sub
Номер ответа: 6
Автор ответа:
Swarok
Вопросов: 1
Ответов: 3
Профиль | | #6
Добавлено: 11.09.09 17:57
Не ребята, так как вы предлагаете проблему я решать не стал
1. Я создал класс, в котором обрабатывается нажатие кнопки как таковой
2. Кнопки, существующие на форме, добавляются в массив этого класса при помощи цикла
3. Тогда нажатие на любую кнопку приводит к тому, что запускается стандартная процедура
Если кому-то интересны подробности, напишите, я приведу пример кода
Номер ответа: 7
Автор ответа:
GDK
Вопросов: 13
Ответов: 348
Профиль | | #7
Добавлено: 11.09.09 20:32
Типа WithEvents? Ну так ваще молодец.