Добавить значения в массив объекта VBA - PullRequest
0 голосов
/ 30 января 2020

Я начинаю использовать классы в VBA и не могу понять, почему я не могу добавить какое-либо значение в массив с именем SDA в объекте класса, который я создал.

Модуль класса:

'clsProject Class Module Code

Public LinhaProjeto As String
Public SDA As Variant



Public Sub Class_Initialize()

    ReDim SDA(1 To 12)

    Dim i As Integer
    For i = 1 To 12
        SDA(i) = 0
    Next i

End Sub

И подпрограмма в обычном модуле:

Sub test()

    Dim oProject As clsProject
    Set oProject = New clsProject

    oProject.SDA(1) = 2
    Debug.Print oProject.SDA(1)
End Sub

Код выполняется без ошибок, но не добавляет значения, как я думал , В конце подпункта «test» значение oProject.SDA (1) по-прежнему равно 0, а не 2, как мне бы хотелось.

Может кто-нибудь помочь мне найти мою ошибку здесь?

Спасибо за помощь!

1 Ответ

0 голосов
/ 30 января 2020

Пожалуйста, добавьте это к своему классу:

Public Property Get ValSDA(Pos)
    ValSDA = SDA(Pos)
End Property

Public Property Let ValSDA(Pos, Nilai)
    SDA(Pos) = Nilai
End Property

и измените ваш под-тест следующим образом:

Sub test()

    Dim oProject As clsProject
    Set oProject = New clsProject

    oProject.ValSDA(1) = 2

    Debug.Print oProject.ValSDA(1)

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...