Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA Excel создать дочерний объект / 6 сообщений из 6, страница 1 из 1
01.06.2006, 20:26:46
    #33767328
100g
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel создать дочерний объект
Ух... Наконец-то понял, как классы создавать...
Вот, только ниасилить, как в VBA Excel создать дочерний объект. Ну что бы добавить только новые поля и свойства, а старые чтоб наследовались от родительского объекта.
Предполагаю, что надо создать новый класс для дочки и там указать родителя, но в каком месте и какими словами - не могу найти.
Подскажите, пожалуйста, кто знает.
...
Рейтинг: 0 / 0
01.06.2006, 21:05:19
    #33767367
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel создать дочерний объект
А с каких это пор в VBA наследование появилось? :)
Правда последний раз я с этим игрался лет этак семь-восемь тому назад, может со времен 97-го офиса VBA и поумнел, но что-то сомневаюсь.
...
Рейтинг: 0 / 0
02.06.2006, 08:35:16
    #33767688
100g
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel создать дочерний объект
White OwlА с каких это пор в VBA наследование появилось? :)
Правда последний раз я с этим игрался лет этак семь-восемь тому назад, может со времен 97-го офиса VBA и поумнел, но что-то сомневаюсь.
Упс... мне даже в голову не пришло, что механизма наследования может не быть...
...
Рейтинг: 0 / 0
02.06.2006, 09:33:59
    #33767778
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel создать дочерний объект
f1 Implements
...
Рейтинг: 0 / 0
02.06.2006, 09:45:08
    #33767796
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel создать дочерний объект
В Офисе 2000 появилась такая возможность. Для этого необходимо воспользоваться ключевым словом Implements.

Пример.

Class1.

Код: plaintext
1.
2.
Public Function fnTest() As String
    
End Function

Class2.

Код: plaintext
1.
2.
Public Function fnTest() As String
    
End Function

Class3.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Implements Class1
Implements Class2

Public Function Class1_fnTest() As String
    Class1_fnTest = "Test 1"
End Function

Public Function Class2_fnTest() As String
    Class2_fnTest = "Test 2"
End Function

Стандартный модуль.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Public Sub ImplementsTest()
    Dim cls1 As Class1
    Dim cls2 As Class2
    
    Set cls1 = New Class3
    Set cls2 = New Class3

    MsgBox cls1.fnTest
    MsgBox cls2.fnTest
End Sub

Подробнее про Implements смотри в справке.
...
Рейтинг: 0 / 0
02.06.2006, 23:45:19
    #33770185
100g
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel создать дочерний объект
Спасибо.
Пробую.
Я правильно понимаю, что функции надо переписывать, а поля будут те которые в родительском классе объявлены?
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA Excel создать дочерний объект / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]