如今Microsoft Office已经在平常的办公中使用的非常普遍。然而Excel可能是Office办公中使用频率最高的软件之一,作为软件开发人员,当然也离不开用程序和Excel打交道。在这里我提供我用C#去调用Excel中创建宏的方法。最核心的部分就是通过反射的方式调用Excel VBA宏,然后通过oBook.Save方法去保存执行宏之后的Excel文件。具体调用代码如下:

说明:

@path1:Excel路径

Sheet1.MergeExcel 宏名称

null 宏需要传人的参数  没有就为null

out objRtn : 宏的返回值

true :执行该宏的时候Excel需要是否需要显示,如果需要就是true不需要就是false

 

   ExcelMacroHelper ExcelHelper = new ExcelMacroHelper();

            ExcelHelper.RunExcelMacro(

                                        @path1,

                                        "Sheet1.MergeExcel",

                                         null,

                                         out objRtn,

                                         true

                );

 或者不用我上次的ExcelHelper,直接调用

      Excel.Application app = new Excel.Application();

            Excel.Workbook oBook = app.Workbooks.Open(@path);

            app.Run("Sheet1.MergeExcel");

            oBook.Close(true);