![]() |
Модераторы: mihanik |
![]() ![]() ![]() |
|
Bladerender |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Короче задача такая. С VBA первый раз сталкиваюсь. Сам на C# пишу.
К Normal подключен набор функций и прочей фигни. Как оно в VBA у вас называется - не знаю. Библиотека короче кастомная. В этой библиотеке у нас есть класс с ивентами MyClassFromLibrary. Задача такова: При открытии любого документа или создании нового документа - создать обьект этого MyClassFromLibrary и подписатся обработчиками на ивенты этого MyClassFromLibrary . Что я пытаюсь сделать. В этом Alt+F11 в Normal создал ClassModule под названием MyCustomClass. В нем написал Public WithEvents MyObj As MyClassFromLibrary Потом Alt+F11 в Normal создал Module1. В этом Module1 теперь нужно как-то подписаться на событие открытия/создания документа в Word и в обработчике создать обьект этого MyObj и подписаться на ивенты этого MyObj Этот код это типа уже в обработчике открытия/создания документа { Dim myCustomClass As MyCustomClass Set myCustomClass = New MyCustomClass Set myCustomClass.MyObj = new MyClassFromLibrary } потом как-то нужно подписаться на ивенты этого myCustomClass.MyObj. я так понял что подписчики определяются VBA по названию обработчика типа Т.е. если у меня обьект с ивентами где-то в myCustomClass.MyObj и название ивента у меня MyEvent1, то обработчик будет выглядеть так Private Sub myCustomClass_MyObj_MyEvent1(параметры) MsgBox "Сработал обработчик моего класса" End Sub Хз. Вроде елементарщина с точки зрения того, что VBA должен делать это все командой "сделать все зашибись", т.к. типа заточен под такие дела. Но я что-то с помощью гугла собрать рабочий семпл этого дела так и не смог. Это сообщение отредактировал(а) Bladerender - 27.5.2014, 19:03 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Программирование, связанное с MS Office" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |