C# interop при открытии файла Excel генерирует Exception from HRESULT(0x800A03EC) и программа зависает

159
22 января 2019, 06:30

`Открываю Excel 5.0/95,сохраняю как Excel 2003 т.е. меняю формат с помощью C# interop в папке с помощью цикла. При открытии файла Excel 2007 генерирует "Exception from HRESULT(0x800A03EC)" и программа зависает после этой строки:

excelappworkbook = excelapp.Workbooks.Open(excelfilepath[i], TMis, TMis, TMis, TMis, TMis, TMis, TMis, TMis, TMis, TMis, TMis, TMis, TMis, TMis);

Обработчик catch { мой обработчик исключения } не выполняется пока пользователь не закроет окно сгенерированное Excel 2007

Вот это окно:

Как закрыть файл Excel с ошибкой до того как Excel покажет это окно и перейти к выполнению блока catch{ мой обработчик исключения }

Кстати если ввести в окне 3 буквы любые русские то КОНФЛИКТ ИМЁН исчезает! НО ПРОГА ДЛЯ ТОГО И НУЖНА,ЧТОБЫ ПОЛЬЗОВАТЕЛЬ ЭТОГО НЕ ДЕЛАЛ!!!

Простите ЗАБЫЛ ДОБАВИТЬ: Такая проблема только когда установлен Excel 2007, а если установлен Excel 2003 этого не наблюдалось ни разу на многих компах и где XP и где Win7. Остановка программы не на всех файлах, только некоторых по выбору Excel!!!

excelapp.DisplayAlerts = false; пробовали?

Конечно пробовал.".DisplayAlerts" не отключает сообщения HRESULT к сожалению! ЕСЛИ БЫ ВСЁ БЫЛО ТАК ПРОСТО!!! И в Гугл и в Яндекс нашёл только это: есть COM-исключения,а есть NET-исключения. Прога останавливается на строке excelapp.Workbooks.Open() КАК ОСТАНОВИТЬ ПРОЦЕСС ОТКРЫТИЯ ФАЙЛА, ЕСЛИ Excel СГЕНЕРИРУЕТ ИСКЛЮЧЕНИЕ? Я думаю Студия на дальнейший процесс Excel не реагирует. Где выход из положения!? Ещё нашёл это https://www.forum.mista.ru/topic.php?id=711878 (но там не C# а 1С "Проблему решил, используя конструкцию ПолучитьComСоединение()"), Где подобное в С# и Студии?

READ ALSO
WPF: добавить элемент в ObservableCollection<T> через IEnumerable

WPF: добавить элемент в ObservableCollection<T> через IEnumerable

Такая дилемма: у меня есть эдакий "ItemsSource" в моем элементе управленияDependencyProperty типа IEnumerable

162
Поворот оружия в сторону Touch на Unity

Поворот оружия в сторону Touch на Unity

Каким образом сделать, так чтобы оружие моего персонажа дулом было повернуто в сторону моего пальца (тача) и следило за ним, когда вожу по экрану

160
WPF NotifyIcon. Как привязать метод к LeftClickCommand

WPF NotifyIcon. Как привязать метод к LeftClickCommand

Подскажите, как привязать в TaskbarIcon метод из MainWindow (а не из отдельного класса команд)Пример от разработчика показывает как привязать из отдельного...

174