【问题标题】:Is Variable Variable Possible?可变变量可能吗?
【发布时间】:2011-06-14 04:51:53
【问题描述】:

我的 googlefu 让我失望了,我来找你帮忙:

VBA 是否能够像 PHP 一样拥有Variable Variables?我知道在 PHP 中你可以等待使用$$var 来声明一个变量。

可以在 VBA 中实现吗?例如,有没有一种方法可以说:我读取了一个包含 1000 个字符串的整个数组,并且我得到的每个字符串都可以用该字符串声明一个变量,例如,如果数组的第 80 个元素被命名为 STO,我该如何告诉 VBA创建一个名为 sto 的变量?

【问题讨论】:

  • 我不知道这是否可能,但我知道可变变量是极少数情况之一,绝对没有任何意义,但毫无意义且有害。改用该死的字典。

标签: php vba variables variable-variables


【解决方案1】:

这是不可能的。但是几乎所有依赖于变量变量的代码都被严重破坏了,应该重构,例如使用数组。

编辑(pst): 如果您需要通过给定名称 a dictionary can be used 访问值。摘录/示例:

Dim d As dictionary
Set d = New dictionary
d("STO") = arr(80) 'or whatever it is in VBA

【讨论】:

  • 那么,下一个问题... VBA 中是否支持字典/哈希?虽然在这里听起来像 Array/List 是合适的,但 Dictionary 是“变量变量”的一般替代品。
【解决方案2】:

嗯,你可以......有点。

通过操作 VBE,您可以在程序中添加行,因此可以根据需要定义变量。当然这不是一个简单的方法,我也不推荐它。这只是为了你的信息。

Here is a tutorial.

更多示例可在谷歌搜索“VBE 插入线”中找到

HTH!

【讨论】:

    猜你喜欢
    • 2018-05-22
    • 2017-03-09
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多