如何在VBA中更新Object的字段?

时间:2014-03-06 12:26:18

标签: vba excel-vba excel

当我使用VBA时,我想按功能更新对象的字段,但我不知道该怎么做。

任何人都给我一些建议吗?

Type MyObject
    a as String
    b as Boolean
End Type

'update function
Sub update(ByVal o as MyObject, key as String, value as string)
    o.key = value 'this is what I want to do!
End sub

我对VBA不太了解,这可能吗?

1 个答案:

答案 0 :(得分:2)

您无法设置名为key的字段的任何值,因为MyObject的定义中不存在此类密钥。你能做的就是这样:

o.a = key
o.b = value

修改

要指定要更新的字段,可以向函数添加条件语句。

If key = "a" Then
    o.a = value
Else
    o.b = value
End If

我担心你无法遍历类型中的所有字段,因为VBA不支持反射。