0

我有一个用 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 编写的表单?

提前致谢

4

1 回答 1

1

下面的示例可以帮助您了解 VBA7 代码在 64 位 Office 中的工作方式。

添加到 64 位 Office 插件可能不是问题,但是当您尝试在 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

于 2011-12-15T12:46:06.973 回答