Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> VBA отловить открытие документа в ворде, Что бы инициализировать обьект 
:(
    Опции темы
Bladerender
Дата 27.5.2014, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 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
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0587 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.