【发布时间】:2012-02-07 14:39:26
【问题描述】:
我正在尝试定义自己的数据类型并将其作为值放入字典中。 VBA 抱怨它不接受我的数据类型。关于如何让它发挥作用的任何想法?
Option Explicit
Public Type Translation
german As String
french As String
italian As String
End Type
Private resource As Object
Public Sub addTranslation(key As String, g As String, f As String, i As String)
Dim trx As Translation
trx.german = g
trx.french = f
trx.italian = i
resource.add key, trx '<== here VBA is complaining
End Sub
Public Sub initResource()
If resource Is Nothing Then Set resource = CreateObject("scripting.dictionary")
End Sub
这是错误信息:
只有在公共对象模块中定义的用户定义类型才能被强制转换为变体或从变体强制转换或传递给后期绑定模块。
【问题讨论】:
-
只有在公共对象模块中定义的用户定义类型才能被强制传入或传出变体或传递给后期绑定模块。
-
如果您将行更改为“resource.Add key, trx.french”,那么它将编译,但我无法告诉您您的目标是什么。 “bla” = “add”吗?
-
谢谢!改进了问题。
-
不,resource.Add 键,trx.french 也无济于事,目的是用一个键存储所有语言。
标签: excel vba excel-2010