VBA: невозможно установить переменную структуры в классе - PullRequest
0 голосов
/ 05 августа 2020

У меня есть класс, реализующий два интерфейса, один интерфейс для обычного использования и один интерфейс, который раскрывает только функцию для создания класса с начальными параметрами. У класса есть поле, которое представляет собой структуру с двумя переменными внутри, я использую свойство Get класса, чтобы получить структуру, а затем использую точечную нотацию для доступа к полю внутри структуры, а затем я пытаюсь установить его на число, но оно никогда не работает. Если я попытаюсь получить доступ к структуре с помощью частной переменной внутри класса, она работает, но я хочу быть последовательным и использовать свойства только для ее изменения в функции Create.

Public Function Create(WorksheetName As String, Optional CurrentRow As Long = 4) As ISheetInfo
    With New clsSheetInfo
        Set .WS = ThisWorkbook.Worksheets(WorksheetName)
        Set .Cols = CreateColumnDictionary(.WS, 3)
        Let .Rows.Current = CurrentRow
        Let .Rows.Final = .WS.Cells(.WS.Rows.Count, 1).End(xlUp).Row
        Set Create = .Self
    End With
End Function

Когда я перехожу через, он сначала переходит к этому свойству (RowData - это UDT с двумя полями, .Current и .Final:

Property Get Rows() As RowData
     Rows = pRows
End Property

Но затем после присвоения .Rows.Current все еще равно 0, я Не знаю почему.

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