我必须将 .net 字典或对象的列表类型传递给 VBA。但是当我在 VBA 端传递 .net 字典时,我无法在 .net 端看到字典的元素。
我的 C# 代码
Dictionary<string,object> dict = new Dictionary<string,object>();
dict.Add("First", "1");
dict.Add("Second", "2");
dict.Add("third", "3");
dict.Add("Forth", "4");
我将 C# 中的 VBA 宏称为
Application.Run("MyVBAMacro", dict);
在 VBA 方面我的宏是
public Sub MyVBAMacro(var as variant)
end Sub
我也试过
public Sub MyVBAMacro(var as Scripting.Dictionary)
end Sub
但对我不起作用。
在 VBA 的 WATCH 窗口中,我没有得到字典元素。
所以我认为.net 和 VBA 对象是不一样的。那么是否有任何解析类可以将我的 .net 对象转换为等效的 VBA 对象?
.net List 对象也有问题。.net 数组工作正常,但我想将对象的字典或集合类型传递给 VBA。
请让我知道是否有解决方案。
谢谢,莫尼尔甘加尔