Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
27.09.2006, 11:36
|
|||
---|---|---|---|
|
|||
Классы в VBA |
|||
#18+
Ребята, покажите пожалуйста приер определения классов и объектов в VBA!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.09.2006, 01:15
|
|||
---|---|---|---|
Классы в VBA |
|||
#18+
Среда VBA хотя и позволяет создавать собственные классы и их экземпляры, но практическая ценность от этого невелика. В объектно-ориентированной модели VBA отсутствует ее важнейший компонент - принцип наследования. Он заменен так называемым "встраиванием". Тем не менее, в классах VBA можно определять properties, поля и методы, создавать экземпляры классов и т.п. Пример объявления класса (Insert -> Class Module): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37.
Пример создания экземпляра и его использования: Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.01.2013, 13:03
|
|||
---|---|---|---|
Классы в VBA |
|||
#18+
Заодно уж подскажите как создать статический метод, так чтобы его можно было вызвать по имени класса без создания объекта, по типу Код: vbnet 1.
Работаю в Excel 2010 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.01.2013, 13:30
|
|||
---|---|---|---|
Классы в VBA |
|||
#18+
Oegir_, в VBA нет понятия такого "статичный класс" или "статичный метод". Метод можете поместить в стандартный Модуль, обращаться также mySub или MyModuleName.mySub ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.01.2013, 18:10
|
|||
---|---|---|---|
|
|||
Классы в VBA |
|||
#18+
VSVLAD, не соблаговолит ли уважаемый джин VSVLAD открыть приложенный файл, проверить, работает ли у него процедура Test, и, если да, то объяснить, почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.01.2013, 18:19
|
|||
---|---|---|---|
Классы в VBA |
|||
#18+
А почему она не должна работать? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.01.2013, 19:39
|
|||
---|---|---|---|
|
|||
Классы в VBA |
|||
#18+
Akina, должна. Её хорошо об этом попросили. Только не очень хорошо видно, как. Где объявление объектной переменной, её инициализация? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.01.2013, 19:42
|
|||
---|---|---|---|
Классы в VBA |
|||
#18+
13-й квартал, Хорошо, предположим что аттрибут PublicNotCreatable сотворил чудо, и не создавая экземпляра мы присвоили значение в свойство. Но если посмотреть поближе, то можно увидеть что разрешено создавать экземпляры класса и присваивать в эти свойства. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Компилятор VB.NET нарисует ошибку на подобный код (свойство value объявить shared), так как нельзя статичному полю через объект-экземпляр класса. А если поле не статичное, то мы не сможем к нему обратиться. Итого, то что VBA хитрит и даёт доступ к методам/свойству - не говорит о том что методы и свойства статичные. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.01.2013, 21:33
|
|||
---|---|---|---|
Классы в VBA |
|||
#18+
13-й кварталГде объявление объектной переменной, её инициализация?Это не VB. Тут существует "объект по умолчанию". Или, если хотите, объект-прототип, от которого порождаются объекты этого типа, если объявлены в коде. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.01.2013, 01:28
|
|||
---|---|---|---|
|
|||
Классы в VBA |
|||
#18+
13-й квартал... проверить, работает ли у него процедура Test, и, если да, то объяснить, почему? У-у-у, шайтан Код: vbnet 1. 2. 3.
А где можно почитать об этих атрибутах? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=61&mobile=1&tid=2175060]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 145ms |
0 / 0 |