vba как имитировать стиль ООП

#vba #oop

#vba #ооп

Вопрос:

Я хотел бы иметь некоторые жестко закодированные переменные, и я хотел бы отделить это от моего фактического кода. В PHP я бы использовал класс config и позже вызвал config->foo. Возможно ли что-то подобное в VBA?

Я подумал о функции конфигурации и вызвал ее как Config(«Foo»).

Это как-то работает или я должен использовать глобальные переменные для решения?

 Sub SomeFunction()

Dim I As Long

I = Config("Foo") ' is supposed to be I = 1

End Sub

Public Function Config(VariableName As String) As Variant

Static Foo As Long
Static Bar As String
Static SomeOtherVarThatIJustQuicklyMadeUp As String
Foo = 1
Bar = "Example"
Dim ReturnValue As Variant
ReturnValue = GetVariableByName(VariableName)
Config = ReturnValue

End Function
  

Комментарии:

1. VBA поддерживает создание и инстанцирование классов: cpearson.com/excel/classes.aspx Для object(key) вас есть Collection() тип или Dictionary() .

2. Спасибо! Кажется, я всегда хотел прочитать эту статью.