我对C#和Excel DNA非常陌生。我目前有一些数据存储在Microsoft脚本运行时字典中,我想将它传递给我用C#编写的一些方法。我在C#中创建了一个简单的方法(称为FetchDictionary),将字典作为输入并返回一个整数回到VBA,但是我得到一个错误: “无法运行宏'FetchDictionary'。宏可能不可用工作簿或所有宏可能被禁用“ 当我尝试调用其他函数,例如我只是传递双数组时,我不会遇到此问题。 我添加了一个参考我的C#来将Microsoft脚本运行时字典从VBA传递到C#使用Excel DNA
下面是两个VBA和C#功能
VBA:
Sub test()
Dim test As New Dictionary
Dim check As Integer
test.Add "1", 1
check = Application.Run("FetchDictionary", test)
End Sub
C#:
public static int FetchDictionary(Scripting.Dictionary Dict)
{
int check = Dict.get_Item("1");
return check;
}
我真的很感激任何人的帮助 谢谢
谢谢Dy.Lee。我仍然得到错误。它似乎是字典类型是问题... – user318062
感谢Anurag编辑帖子:) – user318062