Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Delphi XE中创建activeX dll并将其添加到Excel VBA项目中作为参考_Delphi_Excel_Activex_Vba - Fatal编程技术网

如何在Delphi XE中创建activeX dll并将其添加到Excel VBA项目中作为参考

如何在Delphi XE中创建activeX dll并将其添加到Excel VBA项目中作为参考,delphi,excel,activex,vba,Delphi,Excel,Activex,Vba,我有个问题。如何在DelphiXE中创建activeX dll,并将其添加到Excel VBA项目中作为参考 我制作了常用的activeX库(文件->新建->其他->activeX->activeX库)。在里面写了几个函数和过程。建造。所以我有“someActiveXLLibrary.dll” 现在我想在excel的vba项目中使用我的dll。在vba IDE中,我推工具->引用->浏览->“someActiveXLLibrary.dll”并查看“无法向指定文件添加引用” 我做错了什么?正如Ke

我有个问题。如何在DelphiXE中创建activeX dll,并将其添加到Excel VBA项目中作为参考

我制作了常用的activeX库(文件->新建->其他->activeX->activeX库)。在里面写了几个函数和过程。建造。所以我有“someActiveXLLibrary.dll”

现在我想在excel的vba项目中使用我的dll。在vba IDE中,我推工具->引用->浏览->“someActiveXLLibrary.dll”并查看“无法向指定文件添加引用”


我做错了什么?

正如Ken White所说,您只做了创建可行ActiveX DLL所需的一半。您创建了DLL本身,但没有将ActiveX对象放入其中。使用“文件>新建>其他>ActiveX>ActiveX库”后,需要使用“文件>新建>其他>ActiveX>COM对象”将ActiveX/COM对象添加到库中。然后,您可以根据需要使用自定义函数充实生成的TypeLibrary和实现类,编译DLL并注册它。那么VB/VBA应该能够使用它。

我从未使用过Delphi,但看看这个链接是否有用?那不是ActiveX库。ActiveX库需要COM或自动化对象、类型库,并且需要通过
RegSvr32
或Delphi的
TRegSvr
向Windows注册。您有一个DLL,需要在VBA代码中将单个函数注册为外部函数。