Я хотел бы получить этот набор свойств с 1 классом + 2 цепочечными классами:
mytable.EntireRange
mytable.DataBodyRange
mytable.HorizontalHeaderRange
mytable.VerticalHeaderRange
mytable.col(strTitle).num
mytable.col(strTitle).firstDataCell
mytable.col(strTitle).lastDataCell
mytable.row(strTitle).num
mytable.row(strTitle).firstDataCell
mytable.row(strTitle).lastDataCell
Как лучше всего организовать (и назвать) эти классы и свойства?
Мое текущее решение для добавления связанных свойств:
- я назвал три класса "mytable", "mytable_col", "mytable_row", чтобы сохранить видимую связь в Project Explorer
- внутри "mytable"Я добавил это:
Property Get col(strTitle As String) As mytable_col
Set col = New mytable_col
col.Initialize = Me ' passes the parent object
End Property
Property Get row(strTitle As String) As mytable_row
Set row = New mytable_row
row.Initialize = Me ' passes the parent object
End Property
Теперь ... учитывая, что три свойства (" num "," firstDataCell "," lastDataCell ") двух параллельных связанных классов" col "и" row "разделяя ту же логику с небольшими вариациями, я бы предпочел не помещать их полный код в 6 свойств, три в классе "row" и три в "col".
В идеале я хотел бы создать только 3 свойства /функции (передавая "row" или "col" в качестве аргумента для вариантов) вместо шести.
Как мне поступить?Возможно ли без них поместить их в дополнительный модуль?