Как правильно инициализировать объекты в VBA?

У меня есть пользовательский объект, который я добавлял в массив через цикл. Проблема заключалась в том, что я инициализировал объект следующим образом:

Dim CallNum As New Lib_CallNum

Последний объект, добавленный в цикл, перезаписывал все остальные объекты, добавленные в цикле. Таким образом, я бы получил массив, заполненный кучей одинаковых объектов. Чтобы исправить это, мне пришлось изменить способ инициализации объекта на:

Dim CallNum As Lib_CallNum
Set CallNum = New Lib_CallNum

Но я не уверен, почему первая инициализация не сработала. Так в чем же разница между двумя наборами кода?

5
задан Community 9 July 2018 в 19:34
поделиться