Ситуация такая. Если файл Excel был открыт пользователем, а потом запустили
обработку, то Эксель.ActiveWorkBook.SaveAs(ФайлИзДиалога); не срабатывает.
Вопрос: как проверить, что файл не открыт пользователем?
Вот код работы с файлом Excel.
//Подключиться к Excel
Попытка
Эксель = Новый COMОбъект("Excel.Application");
Исключение
Сообщить(ОписаниеОшибки() + "Exсel не загрузился почему-то");
Возврат;
КонецПопытки;
//Открыть файл
Книга = Эксель.WorkBooks.Open(ФайлИзДиалога);
//Выбрать лист. Можно по имени или по порядковому номеру
Лист = Книга.WorkSheets("File");
Лист.Unprotect() ;
//********
// Здесь изменяю файл Excel
////
/Обязательно закрыть соединение, иначе процесс Excel остается в памяти
Попытка
Эксель.ActiveWorkBook.SaveAs(ФайлИзДиалога);
Исключение
Предупреждение("Неудачная попытка сохранения файла = Экселя. Перезагрузите "
+"компьютер (или закройте Excel и завершите все процессы Excel с помощью диспечера задач.");
КонецПопытки;