Странности при выгрузке в Excel

1. MaryKireeva 2 20.10.18 14:01 Сейчас в теме
Подскажите в чем может быть проблема.
Есть несколько обработок по выгрузке в 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
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. ysobol 20.10.18 18:24 Сейчас в теме
(1) на вскидку - версия эксела на этом компе другая нежели раньше была
Иочно знаю что "= Новый COMОбъект("Excel.Application")" по разному работает с разными версиями
и по разному работает с xls и xlsx
предлагаю копнуть туда
3. ysobol 20.10.18 18:26 Сейчас в теме
(1) кстати "ФайлШаблона" это xls или xlsx ? и с каким расширением работало раньше?
5. qazaas 22.10.18 08:22 Сейчас в теме
(1) С Excel'ем можно работать не только через "Excel.Application".

Допустимо ли вам изменить способ работы с Экселем или же принципиально нужно разобраться именно с вашим методом?
8. MaryKireeva 2 22.10.18 11:13 Сейчас в теме
(5)Хотелось бы разобраться с этим методом работы...много уже так написано.
6. EVKash 14 22.10.18 09:52 Сейчас в теме
(1) Excel у вас на компьютере "подвисает". Т.е. висит процесс excel.exe и чего-то от кого-то ждет. Если предварительно его закрыть(ExcelПриложение.Application.Quit();), то все нормально. Ищите кто у вас изначально ексель вешает.
7. starjevschik 22.10.18 10:49 Сейчас в теме
(6) +1 я бы предположил, что этот файл уже открыт, повторное открытие приводит к ошибке.
9. MaryKireeva 2 22.10.18 11:14 Сейчас в теме
(7)Файл 100% закрыт. В диспетчере нет excelя
10. MaryKireeva 2 22.10.18 11:22 Сейчас в теме
(6)Тоже хотелось бы узнать что задерживает Excel. Бывает зависает с файлами, когда должно вывестись диалоговое окно. Решается открытие и закрытием файла в пользовательском режиме.Сейчас это не помогает.
11. qazaas 22.10.18 11:38 Сейчас в теме
(10) Попробуйте вот такой способ:

    Попытка
        ExcelПриложение.Application.Quit();
    Исключение
        Сообщить("Проблема с выходом по причине: " + ОписаниеОшибки());
    КонецПопытки;
    ExcelПриложение = Неопределено;


Суть в том, чтобы очищать переменную и, тем самым, освобождать память.
12. MaryKireeva 2 22.10.18 12:03 Сейчас в теме
(11)У меня нет ошибки при команде ExcelПриложение.Application.Quit()...
13. qazaas 22.10.18 12:12 Сейчас в теме
(12) Я понимаю. Я же написал, что можно очистить еще переменную. Может быть у вас компьютер подтормаживает в какой-то момент и эти моменты никак не связаны ни с самой 1С, ни с Excel, но в виду торможений у вас не может полноценно закрыться Excel, ну или закрыться сам поток.
Я всего лишь предложил, исходя из сказанной выше информации.
16. MaryKireeva 2 22.10.18 12:33 Сейчас в теме
(13) Я же писала, что после ExcelПриложение.Application.Quit() файл открывается...после этой команды могу делать все что угодно с файлом и в итоге закрыть и обнулить переменную.
14. qazaas 22.10.18 12:17 Сейчас в теме
(12) Upd: вот что еще нашел по вашему случаю:
"Все было из-за того, что я отключил и запретил службу "DCOM Server Process Launcher"... после ее разрешения и установления типа запуска "Авто" все нужное заработало."

Как вы пишется в теме:
И все было прекрасно , пока вдруг

Вот это вдруг так просто же не появляется. Возможно, как раз-таки вы что-то и изменили в системе или где-то еще.
15. MaryKireeva 2 22.10.18 12:32 Сейчас в теме
(14) Служба DCOM Server Process Launcher работает в Авто режиме.
4. MaryKireeva 2 21.10.18 15:24 Сейчас в теме
Раньше работало с Excel 2010 файл xlsx.
Проблема началась именно в таком варианте.
Сейчас установила Excel 2016 - проблема та же.
17. MaryKireeva 2 22.10.18 12:35 Сейчас в теме
Windows был переустановлен 2 месяца назад...можно сказать чистый...программ еще не успела много наставить. 1С , Excel, Ms SQL. Дистрибутив винды с оф сайта, лицензионный. 1С тоже с лицензией...
18. Obertone 74 25.05.22 08:12 Сейчас в теме
Сталкивался с похожей проблемой: во время чтения/открытия Excel была ошибка с пометкой "Неизвестная ошибка" и с окном "Действие не может быть завершено, так как программа "" занята. Перейдите в нужное окно с помощью кнопки "Переключиться" и устраните ошибку".

Это произошло после установки Excel, в котором лицензионное соглашение не было ещё прочитано пользователем. Поэтому всё решилось здесь таким перечнем действий: закрытием 1С, открытием файла Excel и принятием лицензионного соглашения, закрытием файла Excel и открытием 1С заново.
19. serg_zz 17.08.22 16:31 Сейчас в теме
Может кому то поможет. "Неизвестная ошибка" была, когда код код работы с Excel.Application был &НаСервере, 1с выгружала одного сотрудника, а если список то падала. Ничего не помогало, перенос кода для работы с Excel &НаКлиенте решил проблему. На сервере данные записывались во вмененный файл:

ТабличныйДокумент.Записать(ИмяВременногоФайла,ТипФайлаТабличногоДокумента.XLS);
Двоичное=Новый ДвоичныеДанные(ИмяВременногоФайла);
Адрес=ПоместитьВоВременноеХранилище(Двоичное,ЭтаФорма.УникальныйИдентификатор);
Возврат Адрес;

А потом на клиенте обрабатывался экселем.
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день