Модуль класса VBA: получить свойство от объекта внутри класса - PullRequest
0 голосов
/ 16 мая 2018

У меня есть модуль класса, содержащий некоторые свойства и элементы управления.Как я могу получить значение свойства этих элементов управления в событиях уровня класса?Я пытался

me.property 

или

control.parent.property 

, но не сработало.Я думаю, что должен быть способ обратиться к свойствам каждого экземпляра модуля класса внутри модуля, не так ли?

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

Public WithEvents img1 As MSForms.Image
Private AcnS
Dim rng1 As Range, rng2 As Range, rng3 As Range

' Property Definitions

Public Property Get Aircraft() As String
    Aircraft = Acn
End Property
Public Property Let Aircraft(Value As String)
    Acn = Value
End Property

' Events Procedures

Private Sub img1_Click()  ' Showing Progress Form
    With ThisWorkbook.Sheets("Performance")
        Set rng1 = .Range("ProgCrit")
        Set rng2 = .Range("Progress")
        Set rng3 = .Range("op_log")
    End With
    frmprogress.LAc = Me.Aircraft 
    rng1.Cells(2, 1) = Me.Aircraft 
    rng3.AdvancedFilter xlFilterCopy, rng1, rng2
    oprecord.Calculate
    frmprogress.Show
End Sub

Тахнкс, М

1 Ответ

0 голосов
/ 18 мая 2018

Я думаю, что у вас есть Typo во второй строке: я думаю, что согласно моему тесту вы можете ссылаться на me.property, само свойство без префикса, а также на указанную вами переменную класса.Вы также можете попробовать их.

Public WithEvents img1 As MSForms.Image
Private Acn$ ' As String if you meant!
Dim rng1 As Range, rng2 As Range, rng3 As Range

' Property Definitions

Public Property Get Aircraft() As String
    Aircraft = Acn
End Property
Public Property Let Aircraft(Value As String)
    Acn = Value
End Property

' Events Procedures

Private Sub img1_Click()  ' Showing Progress Form
    With ThisWorkbook.Sheets("Performance")
        Set rng1 = .Range("ProgCrit")
        Set rng2 = .Range("Progress")
        Set rng3 = .Range("op_log")
    End With
    frmprogress.LAc = Me.Aircraft 
    rng1.Cells(2, 1) = Me.Aircraft 
    rng3.AdvancedFilter xlFilterCopy, rng1, rng2
    oprecord.Calculate
    frmprogress.Show
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...