Странности при выгрузке в Excel
Подскажите в чем может быть проблема.
Есть несколько обработок по выгрузке в Excel, которые прекрасно работают у клиентов. Общий механизм работы с Excel такой:
Попытка
ExcelПриложение = Новый COMОбъект("Excel.Application");
Исключение
Сообщить("Ошибка при запуске Microsoft Excel."
+ Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
Возврат;
КонецПопытки;
Попытка
Книга = ExcelПриложение.WorkBooks.Open(ФайлШаблона);
Исключение
Сообщить("Ошибка открытия файла Microsoft Excel." + ФайлШаблона + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
Возврат;
КонецПопытки;
.... выгрузка данных
ExcelПриложение.DisplayAlerts = 0;
Книга.SaveAs(ФайлШаблона);
ExcelПриложение.Application.Quit();
И все было прекрасно , пока вдруг на моем компе они стали вываливаться в ошибку в момент Книга = ExcelПриложение.WorkBooks.Open(ФайлШаблона);
Ошибка открытия файла Microsoft Excel.***xlsx
{ВнешняяОбработка.***.Форма.Форма.Форма(255)}: Ошибка при вызове метода контекста (Open): Неизвестная ошибка
Я перекопала кучу формов, переустановила Excel, но помогло только добавление строки ExcelПриложение.Application.Quit(); перед Книга = ExcelПриложение.WorkBooks.Open(ФайлШаблона);
И так работает. Не могу понять в чем проблема.
У меня есть приложение, которое выгружает отчеты в excel и вот оно выдает другую ошибку при выгрузке
Ошибка запуска Excel.
Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA
Ошибки связаны, но если в своей обработке я могу поставить "заплатку", то в чужой программе никак...
Windows 7x64, Excel 2016
Есть несколько обработок по выгрузке в Excel, которые прекрасно работают у клиентов. Общий механизм работы с Excel такой:
Попытка
ExcelПриложение = Новый COMОбъект("Excel.Application");
Исключение
Сообщить("Ошибка при запуске Microsoft Excel."
+ Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
Возврат;
КонецПопытки;
Попытка
Книга = ExcelПриложение.WorkBooks.Open(ФайлШаблона);
Исключение
Сообщить("Ошибка открытия файла Microsoft Excel." + ФайлШаблона + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
Возврат;
КонецПопытки;
.... выгрузка данных
ExcelПриложение.DisplayAlerts = 0;
Книга.SaveAs(ФайлШаблона);
ExcelПриложение.Application.Quit();
И все было прекрасно , пока вдруг на моем компе они стали вываливаться в ошибку в момент Книга = ExcelПриложение.WorkBooks.Open(ФайлШаблона);
Ошибка открытия файла Microsoft Excel.***xlsx
{ВнешняяОбработка.***.Форма.Форма.Форма(255)}: Ошибка при вызове метода контекста (Open): Неизвестная ошибка
Я перекопала кучу формов, переустановила Excel, но помогло только добавление строки ExcelПриложение.Application.Quit(); перед Книга = ExcelПриложение.WorkBooks.Open(ФайлШаблона);
И так работает. Не могу понять в чем проблема.
У меня есть приложение, которое выгружает отчеты в excel и вот оно выдает другую ошибку при выгрузке
Ошибка запуска Excel.
Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA
Ошибки связаны, но если в своей обработке я могу поставить "заплатку", то в чужой программе никак...
Windows 7x64, Excel 2016
По теме из базы знаний
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(10) Попробуйте вот такой способ:
Суть в том, чтобы очищать переменную и, тем самым, освобождать память.
Попытка
ExcelПриложение.Application.Quit();
Исключение
Сообщить("Проблема с выходом по причине: " + ОписаниеОшибки());
КонецПопытки;
ExcelПриложение = Неопределено;
Суть в том, чтобы очищать переменную и, тем самым, освобождать память.
(12) Я понимаю. Я же написал, что можно очистить еще переменную. Может быть у вас компьютер подтормаживает в какой-то момент и эти моменты никак не связаны ни с самой 1С, ни с Excel, но в виду торможений у вас не может полноценно закрыться Excel, ну или закрыться сам поток.
Я всего лишь предложил, исходя из сказанной выше информации.
Я всего лишь предложил, исходя из сказанной выше информации.
(12) Upd: вот что еще нашел по вашему случаю:
"Все было из-за того, что я отключил и запретил службу "DCOM Server Process Launcher"... после ее разрешения и установления типа запуска "Авто" все нужное заработало."
Как вы пишется в теме:
Вот это вдруг так просто же не появляется. Возможно, как раз-таки вы что-то и изменили в системе или где-то еще.
"Все было из-за того, что я отключил и запретил службу "DCOM Server Process Launcher"... после ее разрешения и установления типа запуска "Авто" все нужное заработало."
Как вы пишется в теме:
И все было прекрасно , пока вдруг
Вот это вдруг так просто же не появляется. Возможно, как раз-таки вы что-то и изменили в системе или где-то еще.
Сталкивался с похожей проблемой: во время чтения/открытия Excel была ошибка с пометкой "Неизвестная ошибка" и с окном "Действие не может быть завершено, так как программа "" занята. Перейдите в нужное окно с помощью кнопки "Переключиться" и устраните ошибку".
Это произошло после установки Excel, в котором лицензионное соглашение не было ещё прочитано пользователем. Поэтому всё решилось здесь таким перечнем действий: закрытием 1С, открытием файла Excel и принятием лицензионного соглашения, закрытием файла Excel и открытием 1С заново.
Это произошло после установки Excel, в котором лицензионное соглашение не было ещё прочитано пользователем. Поэтому всё решилось здесь таким перечнем действий: закрытием 1С, открытием файла Excel и принятием лицензионного соглашения, закрытием файла Excel и открытием 1С заново.
Может кому то поможет. "Неизвестная ошибка" была, когда код код работы с Excel.Application был &НаСервере, 1с выгружала одного сотрудника, а если список то падала. Ничего не помогало, перенос кода для работы с Excel &НаКлиенте решил проблему. На сервере данные записывались во вмененный файл:
ТабличныйДокумент.Записать(ИмяВременногоФайла,ТипФайлаТабличногоДокумента.XLS);
Двоичное=Новый ДвоичныеДанные(ИмяВременногоФайла);
Адрес=ПоместитьВоВременноеХранилище(Двоичное,ЭтаФорма.УникальныйИдентификатор);
Возврат Адрес;
А потом на клиенте обрабатывался экселем.
ТабличныйДокумент.Записать(ИмяВременногоФайла,ТипФайлаТабличногоДокумента.XLS);
Двоичное=Новый ДвоичныеДанные(ИмяВременногоФайла);
Адрес=ПоместитьВоВременноеХранилище(Двоичное,ЭтаФорма.УникальныйИдентификатор);
Возврат Адрес;
А потом на клиенте обрабатывался экселем.
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)