在访问C#时转换VBA

时间:2010-12-01 20:39:12

标签: c# ms-access vba

我有带有多个电子表格创建excel文件的表单的access文件,我有一个任务将它转换为C#应用程序,它执行与VBA代码相同的操作,并且它有很多代码 我可以将VBA代码转换为(例如.dll文件),使我能够在C#中使用VBA方法,或者无论如何在C#中使用VBA代码而不是转换它吗?

谢谢,

Mohammed Thabet Zaky

http://thabettech.blogspot.com/

2 个答案:

答案 0 :(得分:1)

如果你想自己做,可以只引用COM的东西。我使用另一个使用VBA(AutoCAD)的应用程序完成了这项工作。我们最终做的是创建一个引用COM互操作的.net类,然后将所有代码复制到该项目中。这是我们创建.dll文件的方式。然后我们慢慢地将vba代码重构为C#。

复制和粘贴并非完全无缝。你需要做一些调整。例如,此工作簿,活动表和所有自动引用的项不会自动运行(因为您不在Excel的过程之外)。但是(至少对我们而言)它比完全重新创建逻辑要好。

以下是一些参考资料的链接 - http://au.autodesk.com/?nd=e_class&session_id=5084。它引用了Autocad,但在Excel中执行它将非常相似。

希望这有帮助。

答案 1 :(得分:0)

您可能会成功使用VB Migration Partner,即使它是专为Visual Basic应用程序而非办公室而设计的。至少在从VBA到C#的语法迁移方面,它可能有所帮助。