Здравствуйте. Я пытаюсь реализовать интерфейс, чтобы иметь несколько моделей и передавать разные модели различным методам.В этом случае я пытаюсь установить переменную книги, но не могу понять, почему это вызывает метод get вместо let.
Метод, который устанавливает значение:
Public Sub OpenAllWorkbooks(ByRef fromCopyItems As Collection)
Dim currentCopyItem As ICopyItem
Dim wb As Variant
For Each currentCopyItem In fromCopyItems
' Set currentCopyItem.ItemWorkBook = OpenWorkbook(currentCopyItem.WorkbookPath) I commented this out to make sure that was set currentCopyItem = whatever was the error
Set wb = OpenWorkbook(currentCopyItem.WorkbookPath)
Set currentCopyItem.ItemWorkBook = wb ' It breaks here
currentCopyItem.IsOpen = True
Next currentCopyItem
End Sub
Это в модели расходов, которая реализует ICopyItem:
'Calling this instead of let
Public Property Get ICopyItem_ItemWorkBook() As Workbook
Set ICopyItem_ItemWorkBook = Item.ItemWorkBook
End Property
Это то, что он должен называть:
Public Property Let ICopyItem_ItemWorkBook(value As Workbook)
Set Item.ItemWorkBook = value
End Property
Может кто-нибудь объяснить, почему это происходит