Naghual Если ты от этого пытаешься уйти, то зачем тогда ведешь речь о единой процедуре обработки? Либо ты имеешь кучу независимых кнопок - у каждой уникальное имя и набор процедур реакции на события, либо имеешь массив кнопок - с одним именем, набором процедур и управляющим массивом. Промежуточных вариантов нет. Нельзя быть немножко беременной... Но если уж тебе непременно конпки независимые, а процедура одна, то каждая индивидуальная процедура реакции на событие делает единственную вещь - вызов общей процедуры со специфичными для данной кнопки параметрами:
| Код | Sub SomeKnob_OnAction(SomeParameter As SomeType) Call Common_OnAction(SomeParameter, "SomeKnob") End Sub
Sub AnotherKnob_OnAction(SomeParameter As SomeType) Call Common_OnAction(SomeParameter, "AnotherKnob") End Sub
Sub Common_OnAction(SomeParameter As SomeType, KnobName As String) ... End Sub
|
PS. SomeKnob_OnAction может и не иметь параметров. Есссно. Это я к тому что как только процедура test требует для себя параметры, она перестает быть видимой как глобальный макрос Екселя - но по-любому каждому кнопу своя начальная процедура... |