1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| // Object for missing (or optional) arguments.
object oMissing = System.Reflection.Missing.Value;
ApplicationClass oExcel = new ApplicationClass();
oExcel.Visible = false;
Excel.Workbooks oBooks = oExcel.Workbooks;
Excel._Workbook oBook = null;
//oBook = oBooks.Open(@"c:\DocumentExcel\Destination.xls", oMissing, oMissing,
// oMissing, oMissing, oMissing, oMissing, oMissing, oMissing,
// oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
oBook = oBooks.Open("../../../DocumentExcel/Destination.xls", oMissing, oMissing,
oMissing, oMissing, oMissing, oMissing, oMissing, oMissing,
oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
//// Run the macros.
RunMacro(oExcel, new Object[] { "MyUpdateMacro" });
//// Quit Excel and clean up.
oBook.Close(true, oMissing, oMissing);
System.Runtime.InteropServices.Marshal.ReleaseComObject(oBook);
oBook = null;
System.Runtime.InteropServices.Marshal.ReleaseComObject(oBooks);
oBooks = null;
oExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(oExcel);
oExcel = null;
}
private void RunMacro(object oApp, object[] oRunArgs)
{
oApp.GetType().InvokeMember("Run", System.Reflection.BindingFlags.Default | System.Reflection.BindingFlags.InvokeMethod,null, oApp, oRunArgs);
} |
Partager