我有带有多个电子表格创建excel文件的表单的access文件,我有一个任务将它转换为C#应用程序,它执行与VBA代码相同的操作,并且它有很多代码 我可以将VBA代码转换为(例如.dll文件),使我能够在C#中使用VBA方法,或者无论如何在C#中使用VBA代码而不是转换它吗?
谢谢,
Mohammed Thabet Zaky
答案 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#的语法迁移方面,它可能有所帮助。