Подтвердить что ты не робот

VBA: Инициализировать объект со значениями?

Я хочу, чтобы иметь возможность инициализировать

CArticle со следующими свойствами:

Private pNumber As String
Private pQuantity As Double

с пустыми, предварительно определенными или текущими значениями. Как я могу это достичь? Я думаю что-то вроде:

Новый пустой CArticle

pNumber
pQuantity

Новый манекен CArticle

pNumber
pQuantity = 99999

Новый init CArticle(number, quantity)

pNumber = number
pQuantity = quantity
4b9b3361

Ответ 1

Это боль в шее, но это единственный способ сделать это.

Файл

Option Explicit

Private pNumber As String
Private pQuantity As Double

Private Sub Class_Initialize()
    pNumber = vbNullString
    pQuantity = 0
End Sub

Public Sub InitializeWithValues(ByVal number As String, ByVal quantity As Double)
    pNumber = number
    pQuantity = quantity
End Sub

Public Sub InitializeDefaultValues()
    pNumber = vbNullString
    pQuantity = 99999
End Sub

и в вызывающем модуле

Dim art As New CArticle       ' Initialize value to empty
art.InitializeWithValues "Bowtie", 100     ' and assign values

Set art = New CArticle        ' Initialize values to empty
art.InitializeDefaultValues   ' Initialize values to default