Как вызвать параллельные макросы excel
Привет Друзья,
Мне нужно запустить макрос excel несколько раз с некоторыми изменениями во входных данных. поскольку выполнение макроса занимает больше времени, мне нужно открыть несколько экземпляров excel и запустить макросы параллельно. Как я могу этого достичь? пожалуйста, помогите мне с некоторыми идеями.
Текущее время
один запуск макроса займет ~10 минут. мне нужно вызвать этот макрос в цикле с count 25.so приблизительно это занимает 2 часа. моя цель-сократить количество мяты до 30
public static Excel.Application oExcel; oExcel = new Excel.Application(); object oMissing = System.Reflection.Missing.Value; oExcel.Visible = false; Excel.Workbooks oBooks = oExcel.Workbooks; Excel.Workbook oBook = null; oBook = oBooks.Open(filepath, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing); for (int i = 0; i < 25; i++) { Excel.Worksheet sheet = (Excel.Worksheet)oExcel.Sheets[1]; sheet.Cells[8, 3] = i; MacroRun.RunExcelMacro(oExcel, "runTestCases"); }
Что я уже пробовал:
private static void RunMacro(object oApp, object[] oRunArgs) { oApp.GetType().InvokeMember(Constants.RUN, System.Reflection.BindingFlags.Default | System.Reflection.BindingFlags.InvokeMethod, null, oApp, oRunArgs); } public static void RunExcelMacro(Excel.Application oExcel, string macroname, string paramaters = "") { // Run the macros. if (paramaters == "") RunMacro(oExcel, new Object[] { macroname }); else RunMacro(oExcel, new Object[] { macroname, paramaters }); }
Patrice T
Что делает макрос ?
jinesh sam
какая-то бизнес-логика... мне нужно проверить вывод из excel и API
Karthik_Mahalingam
Всегда использовать Ответить кнопка, чтобы отправить комментарии / запрос пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.