用Delphi编写Excel的动态链接库
我使用的是turbodelphi2006 DLL将作为VBA/DLL组合的一部分从Excel中调用 问题的第一部分是试图找出如何向DLL传递对当前Excel会话的引用。我见过的大多数其他代码是,它启动了一个单独的Excel实例,与您所在的实例不同用Delphi编写Excel的动态链接库,delphi,excel,vba,dll,idispatch,Delphi,Excel,Vba,Dll,Idispatch,我使用的是turbodelphi2006 DLL将作为VBA/DLL组合的一部分从Excel中调用 问题的第一部分是试图找出如何向DLL传递对当前Excel会话的引用。我见过的大多数其他代码是,它启动了一个单独的Excel实例,与您所在的实例不同 我见过一些C++代码,它创建了一个实例:IDISPosiv/Cudio>,然后将一些东西传递给IDISPosik对象的方法,但不知道多少C++。 有什么想法吗?我对Office不太了解,但我想你应该使用COM/ActiveX。然后你也会得到你的IDis
我见过一些C++代码,它创建了一个实例:
有什么想法吗?
如果您只想通过使用Delphi向Excel添加功能,我建议使用COM对象,因为我怀疑Excel非常接受COM对象。否则,您可以创建一个直接DLL,并使用与Excel使用任何其他DLL相同的方法。您描述的内容称为编写COM加载项。您需要创建一个自动化DLL并实现该接口。然后,您将收到Excel
应用程序
界面,作为OnConnection
方法的参数
您还需要将DLL作为加载项加载,以便Excel将自动加载它
编辑:忘了提及:您可能想看看。他们的框架和组件使得开始创建Office插件非常容易。您肯定不必为IDTExtensibility2
的细节操心。不过,所有这些都有一个(合理的)价格标签