gpt4 book ai didi

vba - Excel VBA 字典可以用来调用函数吗?

转载 作者:行者123 更新时间:2023-12-04 20:41:38 24 4
gpt4 key购买 nike

我有大量需要调用的函数,每个函数都有相同的参数,我希望能够集中它们以避免笨重的代码块。显然,我可以使用包装函数来调用所有其他函数,但我并不总是调用所有函数。我的下一个想法是我可以将函数放在列表或字典中并从那里调用它们,就像在 Python 中一样:

def foo():
return "foo"

myDict = { "foo": foo }

myDict["foo"]()

返回 foo
VBA中是否有类似的可能?如果是这样,最简单的方法是什么?

最佳答案

如果函数在对象/类中,那么您可以直接按名称调用它们。
下面的代码在 SHEET1 中工作,因为它是一个对象。
它在 MODULE 中不起作用,因为它超出了 CALLBYNAME 函数的能力。

因此,您可以将名称存储在字典的键中,然后只需使用键(不需要函数指针)

Public Sub Something(arg1 As String)
MsgBox arg1
End Sub

Public Sub test()
CallByName Sheet1, "Something", VbMethod, "data 1"
End Sub

关于vba - Excel VBA 字典可以用来调用函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31815681/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com