好的,我知道你可以使用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