为COM Interop添加.NET EXE作为VBA引用(在Excel中)

时间:2016-12-13 11:10:54

标签: c# .net excel vba com

如何在Excel(VBA)中以可执行的形式使用我的C#项目?

在Visual Studio中,如果我转到我的项目设置并将“输出类型”更改为“类库”,那么我可以在Excel VBA中成功添加对项目的引用(通过浏览参考部分中的DLL) )。

但是,当我的“输出类型”设置为“Windows应用程序”时,如果我尝试在新生成的EXE文件中添加引用(在Excel VBA中),则会收到以下错误:

  

无法添加对指定文件的引用

如何在Excel VBA中引用我的.NET EXE?

(我使用exe而不是DLL的目的是使我的应用程序可以用作Windows应用程序和COM对象)

1 个答案:

答案 0 :(得分:2)

在不知道确切细节的情况下,我只是猜测DLL会导出Excel所需的函数。 EXE通常不会导出任何函数。

.NET的优点在于您可以轻松创建模块化应用程序。那么为什么不将核心功能放入DLL中并创建一个可以使用该功能的应用程序呢?

通过这种方式,您可以使用VBA中的DLL,并且仍然可以使用独立使用的应用程序。