Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2009, 00:31   #1
CaptainNemo
Пользователь
 
Аватар для CaptainNemo
 
Регистрация: 02.06.2009
Сообщений: 49
По умолчанию Инициализировать класс, например, для обработки событий с OLE

Пусть на листе есть OLE – объект. Написал класс GotFocus и LostFocus:
Код:
Public WithEvents myOle As OLEObject
Private Sub myOle_GotFocus()
    MsgBox "OLE в фокусе"
End Sub
Private Sub myOle_LostFocus()
    MsgBox "ОЛЕ потерял фокус"
End Sub
Пытаюсь экземпляр класса инициализировать в стандартном модуле вот так:
Код:
Dim myNewOle As New myClass
Sub InitalizeOle()
    Set myNewOle.myOle = ActiveSheet.OLEObjects
End Sub
Но вот с этой строкой кода ActiveSheet.OLEObjects всё не так…Не поулчается. Как тут правильно прописывать. Подскажите…
Спасибо.
Файл прилагаю.
Вложения
Тип файла: rar Книга1.rar (11.5 Кб, 16 просмотров)
Android & Linux
CaptainNemo вне форума Ответить с цитированием
Старый 15.06.2009, 06:21   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

У Вас объект myOle объявлен как OLEObject,
а Вы пытаетесь записать в этот объект всю коллекцию ActiveSheet.OLEObjects...

Правильно будет так: Set myNewOle.myOle = ActiveSheet.OLEObjects(1)

Но это ещё не всё...
После внесения изменений в код, Вы увидите ошибку 459
Как в данном случае её обойти, я не знаю.
Ответ на этот вопрос можете поискать здесь
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать обработчик событий для динамически созданного объекта Лукманов Александр Общие вопросы Delphi 1 22.03.2009 22:05
Общая переменная для различных обработчиков событий Mike_new Общие вопросы .NET 3 29.12.2008 16:43
Дано четырехзначное число, заданное в символьном виде, например, '1954'. Напечатать его текстом, например gred Помощь студентам 13 31.03.2008 22:24