【发布时间】:2013-09-11 21:32:49
【问题描述】:
如果我声明了一个字符串数组,并且每个字符串都是一个 Sub 名称,我如何在不需要 if 语句的情况下调用该名称的 Sub?
示例伪代码:
Set String Array = {"sub1","sub2","sub3"}
for each String str in Array
call str 'where str is a Sub
next str
我确实知道如何创建一个数组并调用 Subs;我只是不知道如何使用字符串值调用 Sub。
【问题讨论】:
-
我了解您需要 VBA(将删除 VB.NET 标记)。这段代码(有点)是 VBA,但是是错误的(声明是错误的)。此外,您到底想要什么也不是很清楚。你想打电话给潜艇吗?嗯……现在更清楚了。通过查看 Oliver 提供的链接,我更了解您想要什么 :)
-
看看 CallByName 函数。正如它的名字所暗示的,它会做你需要的。 ETA 呃,刚刚发现这很可能是 VBA - 如果是这样,我认为这对你不可用
-
为什么又添加了VB.NET标签?您希望在 VB.NET 中还是在 VBA 中回答这个问题?
-
不,不是。在 VB.NET 中,您可以使用一些旧的 VB 函数(也存在于 VBA 中),尽管这不是一个值得推荐的过程。你不能反其道而行之;例如:您添加到反射的最后一个标记没有任何意义(这是一个 VB.NET 的名称一个命名空间,而 VBA 甚至没有命名空间!!)
标签: vba