У меня есть класс, реализующий два интерфейса, один интерфейс для обычного использования и один интерфейс, который раскрывает только функцию для создания класса с начальными параметрами. У класса есть поле, которое представляет собой структуру с двумя переменными внутри, я использую свойство 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, я Не знаю почему.