1.Intro
Мне нужно назначить процедуры для переменных в Excel VBA, как я делал это ранее на других языках.В дальнейшем эти переменные будут использоваться для вызова соответствующей процедуры.Я хотел бы избежать инструкций кейса для процедур 4 x 30.
К сожалению, я перепробовал все, что мог придумать, и искал в Интернете, но ничего не получалось.Поэтому я надеюсь, что кто-то может это заметить и, вероятно, сразу увидит, какое волшебное слово отсутствует.
Если такой вид программирования недоступен в VBA, я был бы благодарен, если бы кто-то смог мне это подтвердить.
Я упростил свой код, чтобы лучше сосредоточиться на проблеме, и составил основную часть ниже.Это должно позволить воспроизвести ошибку.
Заранее спасибо, Маунти
2.Инфраструктура
ПК: Win7Enterprise-64 SP1, Excel 365 ProPlus-32 (1808)
3.Код
Модуль класса
'in StepClass_Module
Public proc As Variant 'proc = procedure to run
Модуль программирования
Public step(1) As StepClass_Module 'Declare array of procedures
Sub main()
Set step(0) = New StepClass_Module
Set step(1) = New StepClass_Module
Set step(0).proc = Import() 'Should allocate corresponding Procedure but runs it => error 13
Set step(1).proc = Prepare() 'Should allocate corresponding Procedure but runs it => error 13
Run step(0).proc 'Run corresponding Procedure
Run step(1).proc 'Run corresponding Procedure
End Sub
Function Import() As Variant
Debug.Print ("Import")
End Function
Function Prepare() As Variant
Debug.Print ("Prepare")
End Function