У меня есть большое количество функций, которые мне нужно вызвать, которые имеют одни и те же аргументы, и я хотел бы иметь возможность централизовать их, чтобы избежать громоздких блоков кода. Очевидно, я мог бы использовать функцию-оболочку, чтобы просто позвонить всем остальным, но я не всегда называю их всеми. Моя следующая мысль, что я мог бы поместить функции в виде списка или словаря и вызывать их оттуда, так же, как в Python:Можно ли использовать словарь Excel VBA для вызова функции?
def foo():
return "foo"
myDict = { "foo": foo }
myDict["foo"]()
Возвращает foo
нечто подобное возможно в VBA? Если да, то какой самый простой способ сделать это?
Вероятно, лучше всего использовать 'Application.Run (myDict (« foo »)), но это не шаблон, который хорошо переносится на VBA, что не соответствует lly имеют понятие указателей функций. –
Существует функция CallByName, которая может использоваться для вызова любой функции по ее строковому представлению. Так, например, вы можете сделать: 'CallByName (" foo ")', который в свою очередь вызовет функцию с именем «foo». Это то, что вы ищите? –