好的,我知道你可以使用Microsoft.Office.Interop.Excel;
在c#程序中使用VBA命令。从C#运行宏?
我面临的问题是,我有一个接近10,000行代码的VBA,并将其转换为C#兼容命令是不现实的。它创建一个工作簿并执行数据操作和格式化,以按用户请求打印。
有没有办法在C#中存储宏,然后创建一个工作簿,然后我可以按原样运行宏?
好的,我知道你可以使用Microsoft.Office.Interop.Excel;
在c#程序中使用VBA命令。从C#运行宏?
我面临的问题是,我有一个接近10,000行代码的VBA,并将其转换为C#兼容命令是不现实的。它创建一个工作簿并执行数据操作和格式化,以按用户请求打印。
有没有办法在C#中存储宏,然后创建一个工作簿,然后我可以按原样运行宏?
您可以像运行Excel一样运行宏。 看看这个:
Running an Excel Macro via C#: Run a macro from one workbook on another?
http://oakdome.com/programming/CSharp_RunExcelMacro.php
如果你不希望Excel在执行过程中可以看到,对于Excel.ApplicationClass的Visible属性设置为false。
我从来没有用过但是Interop有Application.Run()方法来运行一个宏。 –
这可能是有用的... http://stackoverflow.com/questions/9301354/inject-and-execute-excel-vba-code-into-spreadsheet-received-from-external-source – dazedandconfused
http:// stackoverflow。 com/questions/38975802/excel-interop -c-sharp-cant-add-vbproject-error-800a03ec-on-workbook -vbproject -v/38978442?noredirect = 1#comment65333643_38978442相当新近 – prizm1