是否有可以将excel VBA代码移植或编译为C#的工具?

时间:2010-02-26 10:54:34

标签: c# excel-vba compilation vba excel

我对.net了解不多,但我正在开发一个项目,其中要求将嵌入电子表格中的一些Excel VBA代码移植到独立的C#。

它们是否可以自动化(或半自动化)此端口或编译?它们的效果如何?

3 个答案:

答案 0 :(得分:7)

没有。你最好的选择,如果不是很多代码就是手工完成。

否则,您的里程可能会有所不同。您可以尝试将VBA转换为VB.NET,然后使用tool将其转换为C#。

Converting Code from VBA to Visual Basic .NET

Ten Code Conversions for VBA, Visual Basic .NET, and C#

答案 1 :(得分:1)

这是一个老线程,但我想我会完成它:

案例1:将VB转换为C#

如果您需要将代码转换为C#,请使用Telerik的Web代码转换器: http://converter.telerik.com/。只需粘贴您的VBA代码(确保您没有使用Excel特定的函数或变量,如Range,Worksheets等)并转换。您应该能够在Visual Studio中轻松地重用C#.NET项目中的代码。

如果要使库在Excel中可重复使用(使其可见COM)check-out this post here.

案例2:将VBA转换为VB.NET

如果您不需要使DLL可见,只需在Visual Studio中创建一个VB.NET项目,编译并修复任何找到的编译错误:)。

否则,如果希望DLL直接从Excel自动化 - 我最近创建了一个加载项,就是这样做的。它直接从您的工作簿创建一个COM可见的DLL(只需选择您的VBA函数),并将所需的加载过程粘贴到您的工作簿中。 Find it here.

答案 2 :(得分:0)

尝试使用www.tmssoftware.com/site/flexcelnet.asp上的FlexCel.NET,它们也有非商业版本。