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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2009, 22:48   #1
Тупой
Форумчанин
 
Аватар для Тупой
 
Регистрация: 26.12.2008
Сообщений: 146
По умолчанию Как мне создать вот такой объект?

У меня есть 2 структуры (или как там они в VBA называются)

Код:
Public Type Layer
   Limit as Double
   Priority as Double
   Rnst as Reinst
End Type

Public Type Reinst
   Cnt as Double
   Cst as Double
End Type
Как мне создать класс, в котором бы была коллекция Layer-ов и ещё 2 строковых поля?

Вот мой код - он не работает:
Код:
'Вставляю новый модуль класса - в нем пишу:

Public Layers as new Collection
Public Broker as String
Public Leader as String

'
В процедурах, я не могу добавить в Layers ни одного эллемента. Пишет чтото про позднее связывание, и т.п..

К сожалению, я не нашел ничего почитать про коллекции в классах VBA, поэтому, если не трудно, скажите где почитать, ну или тут объясните. Всем заранее благодарен.
"Hello, world!" - 17 errors 56 warnings

Последний раз редактировалось Тупой; 09.12.2009 в 22:51.
Тупой вне форума Ответить с цитированием
Старый 09.12.2009, 23:06   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Как мне создать класс, в котором бы была коллекция Layer-ов и ещё 2 строковых поля?
В коллекции невозможно добавить переменные пользовательского типа.

Поэтому вместо описания типов Layer и Reinst создайте одноименные классы - и всё будет работать.
(в коллекции можно добавлять экземпляры классов)
EducatedFool вне форума Ответить с цитированием
Старый 10.12.2009, 00:12   #3
Тупой
Форумчанин
 
Аватар для Тупой
 
Регистрация: 26.12.2008
Сообщений: 146
По умолчанию

О, заработало.
EducatedFool, спасибо Вам!

ПС: поскольку я первый раз всерьез сталкиваюсь с классами в VBA, то очень хотелось бы про них прочитать. Может я чего то не понимаю, но о классах VBA (именно VBA а не VB и что то там ещё) в интернете я нашел крайне мало полезной информации.
Буду очень признателен, если кто нибудь порекомендует что нибудь хорошее почитать про классы. (кейвордс: property get/set, наследование, интерфейсы и т.п... )
"Hello, world!" - 17 errors 56 warnings
Тупой вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать такой вот элемент? heallry HTML и CSS 6 21.09.2009 11:39
Вот такой синий экран Altera Свободное общение 9 06.07.2009 13:12
Такой вот вопрос... mopmuk Помощь студентам 10 07.06.2009 22:59
Интересует такой вопрос. Как создать круговую диаграмму в Дельфи Grisha248 Компоненты Delphi 6 26.05.2009 18:06
Как мне реализовать такой переход на своей страничке сайта??? Stanislaw PHP 1 14.02.2009 17:17