powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / watches для объекта коллекции
9 сообщений из 9, страница 1 из 1
watches для объекта коллекции
    #35969851
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно в wathes в свойствах элементов коллекции увидеть свойство Key?
у меня заносится вот так Add(Item,[Key],[Before],[After]):

ob.mColl.Add sh.Cells(CurrentY, i), CStr(bgFlagData1) & CStr(nIndex)

Соответственно, ищу ob - mColl - Item1...ItemN - значение вроде True1...TrueN
То ли ослеп, то ли такого нету
...
Рейтинг: 0 / 0
watches для объекта коллекции
    #35970003
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нельзя.
...
Рейтинг: 0 / 0
watches для объекта коллекции
    #35970027
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. фактически мы потом обращаемся к коллекции вслепую? Типа
Cells(1,nIndex) = mColl.Item(CStr(True) & CStr(nIndex))
...
Рейтинг: 0 / 0
watches для объекта коллекции
    #35970038
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для этого вам надо создать свой класс коллекции, основанный на вашем классе объекта. используйте class builder utility (меню Add-Ins)
...
Рейтинг: 0 / 0
watches для объекта коллекции
    #35970076
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь может помочь исправить код? У меня не выводятся данные, т.к. массив оказывается пустым всегда (чувствую, что в индексе (Item(индекс)) всё дело) Слишком здоровый файл, никак не прикрепить :(
...
Рейтинг: 0 / 0
watches для объекта коллекции
    #35970084
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Debug.Print вам в помощь
...
Рейтинг: 0 / 0
watches для объекта коллекции
    #35970124
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
программер vba бы помог, да мало таких

Всё равно спасибо, узнал много новых слов
...
Рейтинг: 0 / 0
watches для объекта коллекции
    #35970145
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bgFlagData1 - что это за переменная, какого типа?
если это контрол типа флажок, то в локализованной версии офиса вы получите значения: Истина/Ложь

дальше сами разбирайтесь
...
Рейтинг: 0 / 0
watches для объекта коллекции
    #35970313
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_OnebgFlagData1 - что это за переменная, какого типа?
если это контрол типа флажок, то в локализованной версии офиса вы получите значения: Истина/Ложь

дальше сами разбирайтесь
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
'Module
Dim bgFlagData1 As Boolean
Dim collData As Collection
Dim CurrentY As Long
Dim nIndex As Long
Public bgFlagData1 As Boolean
'Class Module
Public mColl As Collection
Заношу в коллекцию:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
       nIndex =  1 
    For i = (iChoise) To (iChoise +  10 )
        Select Case i
        Case  14 ,  15 ,  21 ,  22 
            ob.mColl.Add sh.Cells(CurrentY, i), CStr(bgFlagData1) & CStr(nIndex)
            nIndex = nIndex +  1 
        End Select
    Next i
Вывожу массив:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
For Each o1 In collData
    For Each o2 In o1.mColl
        For Each o3 In o2.mColl
            For Each o4 In o3.mColl
                CurrentX =  5 
                i =  1 
                Set rn = o4.Get_Data1(i)
                Do While Not rn Is Nothing
                    sh.Cells(CurrentY, CurrentX).Value = rn.Value
                    i = i +  1 
                    CurrentX = CurrentX +  1 
                    Set rn = o4.Get_Data1(i)
                Loop
            Next o4
        Next o3
    Next o2
Next o1
Class Module Get_Data1:
Код: plaintext
1.
2.
3.
4.
Public Property Get Get_Data1(ByVal nIndex As Long) As Range
On Error Resume Next
Set Get_Data1 = Nothing
Set Get_Data1 = mColl.Item(CStr(True) & CStr(nIndex))
End Property
Почему-то Get_Data1 всегда Nothing. а обращаюсь я уже к элементу коллекции так, как надо. И там и тут, надо полагать, значения Key=Ture&nIndex, причём с 1 оба и до конца.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / watches для объекта коллекции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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