Как решить .Объем выполнения 1026
У меня есть программа на C#, которая использует System. Runtime.InteropServices для вызова макроса Excel. Программа работает в планировщике задач и обычно работает без инцидентов. Однако иногда я получаю идентификатор события 900 из программы моей необработанной логики исключений .Событие NET Runtime 1026, затем ошибка приложения 1000.
Необработанный результат исключения:
.Чистая событием среды 1026
Ошибка Приложения 1000
Что я уже пробовал:
Я добавил информационные сообщения в журнал событий, чтобы показать, что оператор в коде, который не работает, имеет следующий вид: oExcel. Run (Mname); полный блок кода:
статический недействительным GetExcel(имени, строки, строки Mname)
{
строка семерка;
строка проходить = "CFHIMA_CallMAcro";
пропуск объекта = система.Отражение.Недостающий.Ценность;
sEvent = " GetExcel 01";
Журнал событий.WriteEntry(sSource, sEvent, EventLogEntryType.Информация, 0);
Превосходить.Приложение oExcel = новый Excel.Приложение();
sEvent = " GetExcel 02";
Журнал событий.WriteEntry(sSource, sEvent, EventLogEntryType.Информация, 0);
oExcel.Видна = ложь;
Превосходить.Рабочие книги oBooks = oExcel.Рабочая тетрадь;
sEvent = " GetExcel 03";
Журнал событий.WriteEntry(sSource, sEvent, EventLogEntryType.Информация, 0);
Превосходить._Workbook oBook = null;
sEvent = " GetExcel 04";
Журнал событий.WriteEntry(sSource, sEvent, EventLogEntryType.Информация, 0);
oBook = oBooks.Open (Fname, oMissing, oMissing,
омиссинг, омиссинг, омиссинг, омиссинг, омиссинг, омиссинг,
омиссинг, омиссинг, омиссинг, омиссинг, омиссинг, омиссинг);
sEvent = " GetExcel 05";
Журнал событий.WriteEntry(sSource, sEvent, EventLogEntryType.Информация, 0);
oExcel. Run(Mname);
sEvent = " GetExcel 06";
Журнал событий.WriteEntry(sSource, sEvent, EventLogEntryType.Информация, 0);
oBook.Рядом(накладные, oMissing, oMissing);
sEvent = " GetExcel 07";
Журнал событий.WriteEntry(sSource, sEvent, EventLogEntryType.Информация, 0);
Система.Время Выполнения.InteropServices.Маршал.ReleaseComObject(oBook);
sEvent = " GetExcel 08";
Журнал событий.WriteEntry(sSource, sEvent, EventLogEntryType.Информация, 0);
oBook = null;
sEvent = " GetExcel 09";
Журнал событий.WriteEntry(sSource, sEvent, EventLogEntryType.Информация, 0);
Система.Время Выполнения.InteropServices.Маршал.Метода releasecomobject(oBooks);
sEvent = " GetExcel 10";
Журнал событий.WriteEntry(sSource, sEvent, EventLogEntryType.Информация, 0);
oBooks = нуль;
sEvent = " GetExcel 11";
Журнал событий.WriteEntry(sSource, sEvent, EventLogEntryType.Информация, 0);
oExcel.Бросить();
sEvent = " GetExcel 12";
Журнал событий.WriteEntry(sSource, sEvent, EventLogEntryType.Информация, 0);
Система.Время Выполнения.InteropServices.Маршал.ReleaseComObject(oExcel);
sEvent = " GetExcel 13";
Журнал событий.WriteEntry(sSource, sEvent, EventLogEntryType.Информация, 0);
oExcel = null;
sEvent = " GetExcel 14";
Журнал событий.WriteEntry(sSource, sEvent, EventLogEntryType.Информация, 0);
}
[no name]
Добавьте в свою программу некоторую обработку исключений.
Member 12775823
У меня есть. Я вставил необработанный обработчик исключений. Я знаю оператор в c#, который не завершает [oExcel. Run(Mname); ]. вывод обработчика исключений:
-