powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Коллекции в VBA
5 сообщений из 5, страница 1 из 1
Коллекции в VBA
    #33188836
LKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LKO
Гость
Всем доброго времени суток!

Хочу создать класс с коллекцией внутри:

Создаю новый класс
Объявляю переменную:
Код: plaintext
1.
Dim mCol As New Collection

Делигирую все его свойства и методы (Item, Count, Add, Remove)

Проблема в том, что бы использовать эту коллекцию использовать в конструкции "For Each... In MyCollection"

В VB эта проблема решается написанем свойства

Код: plaintext
1.
2.
3.
Public Property Get NewEnum() As IUnknown
    Set NewEnum = mCol.[_NewEnum]
End Property

и присвоением ему Procedure ID = -4

в этом случае конструкция For Each подхватывает это свойство сама.

Что касается VBA, то такой фокус не проходит. Во первых не задашь Procedure ID, но, даже если в конструкции For Each напрямую обратиться к свойству NewEnum, возникает ошибка "Type missmach" :-(

Пока пришел к такому решению:
описать свойство NewEnum таким образом:

Код: plaintext
1.
2.
3.
Public Property Get NewEnum() As Collection
    Set NewEnum = mCol
End Property

и обращаться к нему напрямую
Код: plaintext
1.
For Each ColItem In MyCollection.NewEnum

Может кто предложит более интересное решение?
...
Рейтинг: 0 / 0
Коллекции в VBA
    #33188926
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
использовать словари(dictionary)
...
Рейтинг: 0 / 0
Коллекции в VBA
    #33189003
LKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LKO
Гость
big-dukeиспользовать словари(dictionary)

А можно поподробнее? Например запостить живой пример... Если возможно
...
Рейтинг: 0 / 0
Коллекции в VBA
    #33189043
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Коллекции в VBA
    #33189163
LKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LKO
Гость
2 4321:

Большое спасибо!!!

Недокументированные возможности рулят!!!

Зы: предыдущий пост - это я случайно на Enter нажал
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Коллекции в VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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