Имя: Пароль:
1C
1С v8
1С 82 Управляемое приложение. При закрытии Excel выдает запрос на сохранение
0 Pasha
 
10.04.12
15:02
После исполнения такого кода при закрытии выскакивает окно Excel "Сохранить изменения в файле?"
Хотя в куче других подобных обработок в толстом клиенте ничего такого не выдавало :(
Как обойти это?


ОткрФайл=Новый COMОбъект("Excel.Application");
   Попытка
       Книга = ОткрФайл.Application.Workbooks.Open(ПутьКФайлу);
       ОткрФайл.ActiveWorkbook.RunAutoMacros(1);
       Лист=Книга.Sheets(НомерЛиста);              
       ВсегоСтрокНаЛисте=Лист.Cells.SpecialCells(11).Row;
       //Сообщить(ВсегоСтрокНаЛисте);
       Для С = 2 По ВсегоСтрокНаЛисте Цикл
           НоваяСтрока = ТЗ.Добавить();
           Артикул = Формат(Лист.Cells(С,2).Value,"ЧГ=0");
           Производитель = НайтиПроизводителя(Лист.Cells(С,3).Value);
           ИмяЕдиницыИзмерения = СокрЛП(Лист.Cells(С,5).Value);

           Номенклатура = НайтиНоменклатуру(Артикул,Производитель);
           НоваяСтрока.Номенклатура = Номенклатура;
           НоваяСтрока.Артикул = Номенклатура.Артикул;
           НоваяСтрока.Производитель = Номенклатура.Производитель;
           НоваяСтрока.Единицаизмерения = ПолучитьединицуИзмерения(НоваяСтрока.Номенклатура,ИмяЕдиницыИзмерения);
           НоваяСтрока.Количество=Лист.Cells(С,6).Value;
           НоваяСтрока.Цена=Лист.Cells(С,7).Value;
           НоваяСтрока.Сумма=Лист.Cells(С,8).Value;
       КонецЦикла;
       ЗначениеВРеквизитФормы(ТЗ,"ТаблицаСтрок");
       Книга.Close();
       ОткрФайл.Quit();
   Исключение
       Сообщить(ОписаниеОшибки());
       ОткрФайл.Quit();
     КонецПопытки;
1 le_
 
10.04.12
15:04
Видимо, меняются какие-то значения на листе...
Для отчаянных: ОткрФайл.Save();
2 le_
 
10.04.12
15:11
Можно еще так:
ОткрФайл = Новый COMОбъект("Excel.Application");
ОткрФайл.DisplayAlerts = False;
3 Pasha
 
10.04.12
15:13
(2) Помогло. Большое спасибо