当我使用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不太了解,这可能吗?
答案 0 :(得分:2)
您无法设置名为key
的字段的任何值,因为MyObject
的定义中不存在此类密钥。你能做的就是这样:
o.a = key
o.b = value
修改强>
要指定要更新的字段,可以向函数添加条件语句。
If key = "a" Then
o.a = value
Else
o.b = value
End If
我担心你无法遍历类型中的所有字段,因为VBA不支持反射。