首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在64位程序集中使用从VBA7引用的.NET框架库

在64位程序集中使用从VBA7引用的.NET框架库
EN

Stack Overflow用户
提问于 2011-12-01 07:07:55
回答 1查看 453关注 0票数 0

我有一个用C#编写的库,它使用标准的.NET框架库(系统、System.Windows.Forms)。这个库和它的类一样是COMVisible的,我只有两个类:- TestClass (一个只有一个方法的类)- TestForm (一个空表单)

我按照这里的建议注册了程序集:C# COM DLL: do I use Regasm, or Regsvr32?

然后,我转到我的Excel外接程序,并添加了对生成的.TLB文件的引用。

我可以创建"TestClass“的一个实例并调用它的方法,但当我尝试创建"TestForm”的一个实例时,它显示了这个错误:

代码语言:javascript
复制
Run-time error '-2147024894 (80070002)':

Automation error
The system cannot find the file specified.

根据我在尝试让类正常工作时看到的问题,问题是其中一个依赖项(我猜是System.Windows.Forms)没有被Excel发现。

如何从64位Office外接程序打开用.NET编写的表单?

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2011-12-15 20:46:07

下面的例子可能会帮助你VBA7代码如何在64位Office中工作。

添加到64位Office插件可能不是问题,但当您尝试在VBA7中使用它们时,您肯定会遇到问题。

测试是否使用64位版本的Office2010(VBA7):

代码语言:javascript
复制
#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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8334320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档