我有一个在 Excel 中使用的简单类库。这是我的课程的简化...
using System;
using System.Runtime.InteropServices;
namespace SimpleLibrary
{
[ComVisible(true)]
public interface ISixGenerator
{
int Six();
}
public class SixGenerator : ISixGenerator
{
public int Six()
{
return 6;
}
}
}
在 Excel 2007 中,我将创建一个启用宏的工作簿并添加一个具有以下代码的模块:
Public Function GetSix()
Dim lib As SimpleLibrary.SixGenerator
lib = New SimpleLibrary.SixGenerator
Six = lib.Six
End Function
然后在 Excel 中,我可以调用函数 GetSix(),它会返回 6。这不再适用于 Excel 2010 64 位。我收到运行时错误“429”:ActiveX 组件无法创建对象。
我尝试将平台目标更改为 x64 而不是任何 CPU,但是除非我取消选中 Register for COM interop 选项,否则我的代码将无法编译,这样做会使我的宏启用工作簿无法看到 SimpleLibrary.dll,因为它不再注册.
有什么想法可以将我的库与 Excel 2010 64 位一起使用吗?