近日的一系列工作是做網站的營運維護,因此做了大量的支持工具。有Excel中寫VBA的,也有直接C#做的工具。有時需要在C#中執行Excel VBA宏,甚至有時還需要在執行了VBA宏之后,獲取返回值再進行相應的處理。為了使用方便,我寫了一個執行Excel VBA宏的幫助類。放在博客里做個備份也希望對有類似需求的朋友有所幫助。幫助類僅提供了一個方法:RunExcelMacro 參數說明: string excelFilePath Excel文件路徑 stringmacroName 宏名稱 object[] parameters 宏參數組 out object rtnValue 宏返回值 bool isShowExcel 執行時是否顯示Excel
補充說明:VBA宏需如下圖寫在模塊中,才能被此方法識別。寫在ThisWorkBook中不能被識別。

執行Excel VBA宏幫助類,注釋比較詳細,不再累贅代碼過程。最核心部分其實就是通過反射方式調用Excel VBA宏,oBook.Save()這句話也很重要,否則即使執行了VBA宏調用,也不會保存Excel更改后的內容:
java代碼新聞熱點
疑難解答