Добрый день.
Фоновой процедурой формируются Excel файлы. Периодически задание падает и в журнале регистрации следующая ошибка:

Ошибка при вызове конструктора (COMОбъект)
по причине:

по причине:
-2147467262(0x80004002): Интерфейс не поддерживается

Ошибка падает на следующей строке:

```1c
    ExcelApp = Новый COMОбъект("Excel.Application");
```

Причем падает не при первом её вызове, а где то на 15 раз.
Причину выяснить так и не удалось.
---
Так я и пытаюсь объяснить - схема "один файл - один ексель" неправильная
Правильная - "один ексель - все файлы"
Попробуйте, может полегчает
---
Отк
(1) -2147467262(0x80004002): Интерфейс не поддерживается

Создаете ексельку, а дальше что с ним делаете?
---
```1c
    Для каждого СтрокаТаблицы Из РезультатТаблицей Цикл

    Если СтрокаТаблицы.Проект = NULL
    ИЛИ СтрокаТаблицы.ЦФО = NULL
    Тогда
    Продолжить
    КонецЕсли;

    //Попробуем найти шаблон и скопируем его в указанный каталог

    ИмяФайлШаблона = "E:\Exchange_1C_ZUP\zachislenia.xls";
    ИмяФайлШаблонаФайл = Новый Файл(ИмяФайлШаблона);
    Если ИмяФайлШаблонаФайл.Существует() Тогда

    ПутьКФайлу_с_ЦФО = ПолучитьПолноеИмяФайла(СтруктураПараметров, СтрокаТаблицы.Проект, СтрокаТаблицы.ЦФО, Истина);

    КопироватьФайл(ИмяФайлШаблона, ПутьКФайлу_с_ЦФО + ".xls");

    ExcelApp = Новый COMОбъект("Excel.Application");
    МассивЕкселей.Добавить(ExcelApp);

    Книга = ExcelApp.WorkBooks.Open(ПутьКФайлу_с_ЦФО + ".xls"); //Открытие существующей книги (файла) Excel.

    Лист = Книга.WorkSheets("ЗАЧИСЛЕНИЯ"); //Установка листа в качестве рабочего
    Книга.ActiveSheet.Unprotect(СтруктураПараметров.ПарольЗащитыЛиста);

    //Очистим строки с сотрудниками (если есть). По идее в шаблоне не должно быть лишнего, это перестраховка.
    ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;
    Для к=0 По ВсегоСтрок-7 Цикл //Шапка состоит из 6 строк

    ТекСтр = ВсегоСтрок-к;

    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Удаление строки: " + ТекСтр;
    Сообщение.Сообщить();

    СтрокаОтчета = Лист.Range(Строка(ТекСтр)+":"+Строка(ТекСтр));
    СтрокаОтчета.EntireRow.Delete();

    КонецЦикла;

    СтрокаТаблицы.ФайлВыгрузки_XLS = Книга;

    ДБФ = Новый XBase;

    ФайлВыгрузки = Новый Файл(ПутьКФайлу_с_ЦФО);
    Если ФайлВыгрузки.Существует() Тогда
    ДБФ.ОткрытьФайл(ПутьКФайлу_с_ЦФО + ".dbf");
    ДБФ.ОчиститьФайл();
    Иначе
    ДобавитьПоля(ДБФ);
    Если СтрокаТаблицы.Проект = СтруктураПараметров.ПроектЗП Тогда
    ДБФ.Поля.Добавить("MAIN", "N", 1, 0);
    ИначеЕсли СтрокаТаблицы.Проект = СтруктураПараметров.ПроектПрочие Тогда
    ДБФ.Поля.Добавить("BIK", "S", 9, 0);
    ИначеЕсли СтрокаТаблицы.Проект = СтруктураПараметров.ПроектКасса Тогда
    ДБФ.Поля.Добавить("KASSA", "N", 1, 0);
    КонецЕсли;
    ДБФ.СоздатьФайл(ПутьКФайлу_с_ЦФО + ".dbf");
    КонецЕсли;
    ДБФ.Кодировка = КодировкаXBase.OEM;

    СтрокаТаблицы.ФайлВыгрузки_DBF = ДБФ;

    КонецЕсли;

    КонецЦикла; //выборка строк из таблицы ЦФО
```
---
Далее заполняю фалы данными из 1С и сохраняю. Но до заполнения дело как я понял не доходит.
У меня с сервера приходят сообщения когда выполняется заполнение файлов.
---
Когда-то давно сталкивался с чем-то похожим, деталей не помню, но по-моему, оказалось что мешал пользователь, параллельно работающий (интерактивно) в excel
---
Это мало вероятно. Сервер не терминальный и все процессы Excel запущены от сервера 1С.
---
не увидел где вы делаете экселю Quit.
---
Это происходит в самом конце, после заполнения файлов данными. Я не стал выкладывать всю процедуру, она очень объемная.
Но с большой вероятностью до заполнения и закрытия фалов дело не доходит, так как не приходит сообщение с сервера что идет заполнение файлов.
А оно выдается сразу же после их создания.
Кусок кода, где происходит закрытие файлов:

```1c
    Для к=0 По МассивЕкселей.Количество()-1 Цикл

    ExcelApp = МассивЕкселей.Получить(к);
    ExcelApp.Quit();
    ExcelApp=";

    КонецЦикла;
```
---
Вчера наконец-то словил описание своей ошибки при загрузке данных из Excel в Заказ покупателя. Она тоже появляется периодически.
Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получение объекта COM: -2147467259 (0x800040025): Неопознанная ошибка.
Подскажите и мне, что это и как побороть.
---
А зачем, собственно, "массивЕкселей"?
Все в одном экземпляре что мешает делать?
Возможно, просто памяти не хватает... ошибка же возникает как раз при открытии ексел?
---
Нужен именно массив Экселей. Это некие сведения разделенные по ЦФО и проектам.
Ошибка падает на строке:

```1c
    ExcelApp = Новый COMОбъект("Excel.Application");
```
---
зачем нужен массив?
Нужен...
это вообще-то не ответ на вопрос...

во всяком случае, у меня ощущение, что проблема именно в кол-ве экселей...
еще раз спрошу - что мешает обойтись одним экземпляром екселя?
---
Я же вам описал, что сведения деляться по ЦФО и проектам. Т.е. один файл это один ЦФО. А их может доходить до 20.
Одни и те же сведения могут один раз не выгрузиться, потом без ошибок выгружаются.
---
Так я и пытаюсь объяснить - схема "один файл - один ексель" неправильная
Правильная - "один ексель - все файлы"
Попробуйте, может полегчает
---
Спасибо вам большое. Это решило мою проблему.
---
да не за что, рад был помочь, тем более земляку :-)