Подписаться на события в VBA? - PullRequest
3 голосов
/ 02 июня 2011

Правильно ли я понял, что вы не можете подписаться на другое событие, кроме как с помощью поля со списком имя элемента управления VBA Editor + имя события?Там нет combobox.change + = синтаксис обработчика событий, как в других языках, таких как C #, есть?

1 Ответ

4 голосов
/ 02 июня 2011

Правильно.Обработка событий осуществляется с помощью соглашения об именах в VB6 / VBA.
Имя может быть именем элемента управления itlsef или переменной, объявленной WithEvents.Присвоив этой переменной другую ссылку, вы начнете получать события от этого нового объекта.Это можно рассматривать как динамическую подписку.

Однако в определенных средах могут быть дополнительные средства.Например, в Excel некоторые размещаемые объекты имеют скрытые свойства, например Button.OnAction.Вы можете присвоить этому макросу имя макроса (в виде строки), и оно будет вызываться при нажатии кнопки.

...