используйте переменную для ссылки на модуль класса VBA - PullRequest
1 голос
/ 13 апреля 2020

Я изучаю VBA, и у меня возникла проблема с использованием переменной для ссылки на модуль класса. Итак, у меня есть модуль MAIN с этой функцией:

Public sub correr_lista ()
       For i = LBound(lista) To UBound(lista) - 1
             Call verifica (lista (i).time, lista_ficheiros(i + 1).time, lista (i).setor)
       next i
End public

в том же модуле у меня есть эта функция

Public Sub verifica (time1 As Date, time2 As Date, V_setor As String)
  'Percorre  a lista para ver o tipo de torneira e a sua velocidade
   For a = LBound(listaon) To UBound(listaon)

        If (listaon(a).setor = V_setor) Then

            ' Pergunta à torneira porta qual a sua velocidade
            aux_velocidade(a) = V_setor.getvelocidade(listaon(a).porta)
   next a
End sub

У меня есть модуль класса Setor

Public Function getvelocidade(porta As String)

 Dim velocidade As Integer

        For a = LBound(listaSetor) To UBound(listaSetor)

                velocidade = listaSetor(a).get_velocidade(porta)
        Next i

getvelocidade = velocidade
end function 

Список listSector определен как:

Dim listaSetor () As Object

Имеется в модуле класса faucet

Public Function get_velocidade(n_porta As String)

Dim aux As Double
For i = LBound(porta) To UBound(porta)
         aux = porta(i).velocidade
Next i
 get_velocidade = aux

End Function

Дверь определяется как:

Dim porta(1 To 3) As tipo

Public Type tipo
   porta As String
   nome As String
   velocidade As Double
   tipo As String
End Type

ошибка, которая появляется, является неверным квалификатором в методе verifica в строке:

aux_velocidade(a) = V_setor.getvelocidade(listaon(a).porta)

Когда появляется ошибка, она подчеркивает переменную V_setor

Как я могу решить проблему?

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