我有一个用C#编写的库,它使用标准的.NET框架库(System,System.Windows.Forms)。 这个库是COMVisible以及它的类,我只有两个类: - TestClass(一个带有一个方法的类) - TestForm(空格)
我按照此处的建议注册了程序集:C# COM DLL: do I use Regasm, or Regsvr32?
然后我转到我的Excel加载项并添加了对生成的.TLB文件的引用。
我能够创建我的“TestClass”的实例并且没有任何问题地调用它的方法,但是当我尝试创建我的“TestForm”的实例时,它向我显示了这个错误:
Run-time error '-2147024894 (80070002)':
Automation error
The system cannot find the file specified.
根据我在尝试让类工作时遇到的问题,问题是Excel没有找到其中一个依赖项(我猜是System.Windows.Forms)。
如何从64位Office加载项中打开用.NET编写的表单?
提前致谢
答案 0 :(得分:1)
下面的示例可以帮助您了解VBA7代码在64位Office中的工作原理。
添加到64位Office Addins可能不是问题,但是当您尝试在VBA7中使用它们时,您肯定会遇到问题。
测试是否使用Office 2010的64位版本(VBA7):
#If Win64(VBA7) Then
Declare PtrSafe Function GetTickCount64 Lib "kernel32" () As LongLong
#Else(VBA)
Declare PtrSafe Function GetTickCount Lib "kernel32" () As Long
#End If
如果我错了,请使用解决方案@ kirantej @ gmail.com与我联系 因此,我也在做同样的工作......: - P