Доброго времени суток, уважаемые форумчане. Написал простенькую обработку заполнения эксель файла в учебной версии 1с, и в конце отрабатывания вылезает окно (прикрепленный скриншот). Подскажите, пожалуйста, как от него избавиться, чтоб файл нормально сохранялся.

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

    ExcelBook = Excel.WorkBooks.Open(ВыборФайла);

    ExcelBook = ExcelBook.WorkSheets(НомерЛиста);

    xlCellTypeLastCell = 11;
    ExcelLastRow = ExcelBook.Cells.SpecialCells(xlCellTypeLastCell).Row;
    ExcelLastColumn = ExcelBook.Cells.SpecialCells(xlCellTypeLastCell).Column;

    МассивДат = Новый Массив;
    МояДата = НачалоДня(ТекущаяДата());

    Для Сч = 1 По 6 Цикл

    МассивДат.Добавить(МояДата);
    МояДата = МояДата - (60*60*24)

    КонецЦикла;

    КолвоЧасов = МассивДат.Количество() * 24;

    Для Колонка = 1 По КолвоЧасов Цикл

    Для СчИндекса = 0 По МассивДат.Количество()-1 Цикл
    Индекс = МассивДат.Количество() - СчИндекса- 1;
    Элемент = МассивДат[Индекс];

    Для СчДат = 1 По 24 Цикл

    ExcelBook.Cells(1, Колонка).Value = СокрЛП(Элемент);
    Элемент = Элемент + 3600;

    КонецЦикла;

    КонецЦикла;

    КонецЦикла;

    Excel.Application.Quit();
    Excel.WorkBooks.Close()
```
---
Решил задачу так. Спасибо (2) за подсказку.

```1c
    Excel = Новый COMОбъект("Excel.Application");
    Excel.DisplayAlerts = Ложь;
    ExcelBook = Excel.WorkBooks.Open(ВыборФайла);
    ExcelSheet = ExcelBook.WorkSheets(НомерЛиста);

    xlCellTypeLastCell = 11;
    ExcelПоследняяСтрока = ExcelSheet.Cells.SpecialCells(xlCellTypeLastCell).Row;
    ExcelПоследняяКолонка = ExcelSheet.Cells.SpecialCells(xlCellTypeLastCell).Column;

    МассивДат = Новый Массив;
    МояДата = НачалоДня(ТекущаяДата());

    Для Сч = 1 По 6 Цикл

    МассивДат.Добавить(МояДата);
    МояДата = МояДата - (60*60*24)

    КонецЦикла;

    КолвоЧасов = МассивДат.Количество() * 24;

    Для Колонка = 3 По КолвоЧасов Цикл

    Для СчИндекса = 0 По МассивДат.Количество()-1 Цикл
    Индекс = МассивДат.Количество() - СчИндекса- 1;
    Элемент = МассивДат[Индекс];

    Для СчДат = 1 По 24 Цикл

    ExcelSheet.Cells(1, Колонка).Value = СокрЛП(Элемент);
    Элемент = Элемент + 3600;

    КонецЦикла;

    КонецЦикла;

    КонецЦикла;

    ExcelBook.SaveAs(ВыборФайла);
    Excel.Application.Quit();
    Excel.WorkBooks.Close();
    Excel = ";
```
---
В конце процедуры надо очищать переменную с ком-объектом, чтобы процессы не висели в памяти.

```1c
    Excel = ";
```
---
Excel = ""; попробовал, не работает (
```1c
    Excel.Application.Quit();
    Excel.WorkBooks.Close();
    Excel = ";
```
---
Решил задачу так. Спасибо (2) за подсказку.

```1c
    Excel = Новый COMОбъект("Excel.Application");
    Excel.DisplayAlerts = Ложь;
    ExcelBook = Excel.WorkBooks.Open(ВыборФайла);
    ExcelSheet = ExcelBook.WorkSheets(НомерЛиста);

    xlCellTypeLastCell = 11;
    ExcelПоследняяСтрока = ExcelSheet.Cells.SpecialCells(xlCellTypeLastCell).Row;
    ExcelПоследняяКолонка = ExcelSheet.Cells.SpecialCells(xlCellTypeLastCell).Column;

    МассивДат = Новый Массив;
    МояДата = НачалоДня(ТекущаяДата());

    Для Сч = 1 По 6 Цикл

    МассивДат.Добавить(МояДата);
    МояДата = МояДата - (60*60*24)

    КонецЦикла;

    КолвоЧасов = МассивДат.Количество() * 24;

    Для Колонка = 3 По КолвоЧасов Цикл

    Для СчИндекса = 0 По МассивДат.Количество()-1 Цикл
    Индекс = МассивДат.Количество() - СчИндекса- 1;
    Элемент = МассивДат[Индекс];

    Для СчДат = 1 По 24 Цикл

    ExcelSheet.Cells(1, Колонка).Value = СокрЛП(Элемент);
    Элемент = Элемент + 3600;

    КонецЦикла;

    КонецЦикла;

    КонецЦикла;

    ExcelBook.SaveAs(ВыборФайла);
    Excel.Application.Quit();
    Excel.WorkBooks.Close();
    Excel = ";
```
---
Что за любовь к использованию внешних компонент?
Сформировать как табличный документ 1С, а потом записать его как xls.

И проще, и удобнее, и код понятнее.
---
соглашусь, изначально так и хотел делать, но мне еще нужно разные данные на разные листы вводить, а как это сделать с помощью табличного документа я не знаю, поэтому выбрал данный вариант.
---
Запросто.

```1c
    ИмяФайла = "...........
    Пакет = Новый ПакетОтображаемыхДокументов;

    // Добавляем документы в пакет
    ЭлементПакета1 = Пакет.Состав.Добавить();
    ЭлементПакета1.Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент1, УникальныйИдентификатор);
    ЭлементПакета2 = Пакет.Состав.Добавить();
    ЭлементПакета2.Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент2, УникальныйИдентификатор);

    Пакет.Записать(ИмяФайла, ТипФайлаПакетаОтображаемыхДокументов.XLSX);
```
---
Вставить формулу/ссылку? Заполнить шаблон? Сослаться на другую книгу?
---
Да, есть случаи когда этого недостаточно. К Вашим репликам можно добавить ещё добавление пароля на книгу, etc, etc, etc...
Функционал XLS гораздо шире, чем MXL.

Но, в большинстве случаев, хватает и MXL.

Какое бы сравнение привести:
Безусловно, в БЕЛАЗе можно перевезти больше, чем ВАЗ 2101. Но 10 кг сахара из супермаркета великолепно доедет и в копейке ;). Будет проще везде: на дорогах общего пользования, при парковке возле магазина, при погрузке и разгрузке из багажника.
---
Excel.Application.Quit();
Excel.WorkBooks.Close();
Эти строки в другом порядке должны быть.