вот фрагмент кода
- Код: Выделить всё
' Перебираю объекты коллекции
' Определяю кол-во kolvoLansadapters (нумерация с 0)
For Each NetCard in CollectionNetsCards
' Если в PNPDeviceID первые три буквы = PCI, то считаем, что это сетевая "Железка"
NetCardPNPDeviceID = NetCard.PNPDeviceID
' Есле PNPDeviceID не равно Null и равно "PCI", = искомая сетевая плата
If IsNull(NetCardPNPDeviceID) = False And Mid(NetCardPNPDeviceID, 1, 3) = "PCI" Then
If IsEmpty(kolFindLansadapters) = True Then
kolFindLansadapters = 0
Else
kolFindLansadapters = kolFindLansadapters +1
End If
' Заполняю/расширяю массив FindIndexLansadapters(
' Определяю index найденного адаптора и впихиваю в массив
ReDim Preserve FindIndexLansadapters(kolFindLansadapters)
FindIndexLansadapters(kolFindLansadapters) = NetCard.Index
MsgBox FindIndexLansadapters(kolFindLansadapters)
End If
Next
Далее хочу обратится к объекту коллекции, вот так CollectionNetsCards(13).Name
Получаю Error: Общая ошибка, code 80041001, Sourse SWbemObject
Долго не программировал, теперь что-то туплю.
И хотелось спросить совет, теоритический, если неизвестно конечое кол-во элементов, то как их лучше поместить в массив.
Пока в голову приходит 1, зарание подсчитать кол-во элементов. Но тогда будет два почти одинаковых цикла перебирающих коллекцию. 2 В первом цикле выбрать только нужные элементвы коллекции и занести их в массив, а далее перебирать только эти элементы....вот в этом и возникла проблема. Использовать Preserve не подходит т.к массив многомерный