Страница 1 из 1
Как добавить процедуру к кнопке используя код VBA
Добавлено: 21 авг 2004, 15:30
Дима
Я создал кнопку в MS EXCEL и у меня есть текст макроса который должен выполняться при нажатии кнопки, как мне программно "прицепить" код на событие CLICK.
Добавлено: 21 авг 2004, 23:31
Dmitrij
Я не понял выражение " программно "прицепить""

. Если просто приципить: просто кликнуть два раза по кнопке - и вставляй код. Перед этим проверить Сервис-Макрос->Безопасность установлено на "средняя" или "низкая"
Добавлено: 22 авг 2004, 22:16
Дима
Я написал макрос который создает на листе MS EXCEL кнопку (FORMS.CommandButton).
Теперь я хочу кодом записать макрос, который будет исполняться по нажатию этой кнопки. Не прицепить макрос, а создать макрос с помощью кода VBA.
Добавлено: 22 авг 2004, 22:55
Naeel Maqsudov
Многие хотят, но не многие могут

(На написание с нуля и отладку ушло около 15 минут)
Пусть:
1) модуль книги в проекте называется "ЭтаКнига"
2) на листе Лист1 есть кнопка CommandButton1
Вот макрос который добавит на нее действие MsgBox "qwerty"
Код: Выделить всё
Sub qwe()
Dim m As Object
Set m = ЭтаКнига.VBProject.ActiveVBProject.VBComponents("Лист1")
With m.CodeModule
'Private Sub CommandButton1_Click()
' MsgBox "qwerty"
'End Sub
.InsertLines .CountOfDeclarationLines + 1, "" _
& Chr(13) & "Private Sub CommandButton1_Click()" _
& Chr(13) & " MsgBox ""qwerty""" _
& Chr(13) & "End Sub" _
& Chr(13) & ""
End With
End Sub
PS
Спасибо за вопрос. Никогда раньше этого не делал.
Теперь,
Дима, Вы не сможете испытать радость познания нового

Хотя...
Нберите в макросе "ЭтаКнига.VBProject.ActiveVBProject.VBComponents("Лист1").CodeModule", затем поставьте точку, и узнаете все остальное

Добавлено: 23 авг 2004, 20:23
Дима
Большое спасибо куратору за помощь.
Дальше все сделаю сам.
GOOD WORKING!!!