0
Pasha-Buh
03.05.16
✎
01:10
|
Есть форма прайса, которая создается в 1с. В форме документа есть флажок выгрузка в эксель. При его включении печатная форма сохраняется в эксель. Далее необходимо сформатировать экселовский файл, а именно выставить высоту строк и некоторые ячейки слить, проставить формулы Код:
Если Эксель = 0 Тогда //выгрузка не в Excel
ИсхТабл.ТолькоПросмотр(0);
ИсхТабл.Показать("Печать прайс-листа","");
Иначе
ИсхТабл.Записать(Путь1+"\ПредЗаказ",1);
Эксел= СоздатьОбъект("Excel.Application");
ФайлЭксел = Эксел.Workbooks.Open(Путь1+"\ПредЗаказ");
НашЛист = ФайлЭксел.Sheets("Sheet1");
Для Н = 22 По 1000 Цикл
Если ПустоеЗначение(НашЛист.Cells(н,3).Value)=1 Тогда
Прервать;
Иначе
Если ПустоеЗначение(НашЛист.Cells(н,4).Value)=0 Тогда
НашЛист.Cells(н, 8).FormulaLocal = "=E"+н+"*G"+н;
Если НашЛист.Cells(н,9).Value =0 Тогда
НашЛист.Rows(н+":"+н).RowHeight = 13; // высота строки
ИначеЕсли НашЛист.Cells(н,9).Value =1 Тогда
НашЛист.Rows(н+":"+н).RowHeight = 30; // высота строки если есть картинка
КонецЕсли;
Если ПустоеЗначение(НашЛист.Cells(н,5).Value)=1 Тогда
НашЛист.Cells(н,5).Value=0;
КонецЕсли;
Иначе
НашЛист.Rows(н+":"+н).RowHeight = 15; // высота строки группа
Продолжить;
КонецЕсли;
КонецЕсли
КонецЦикла;
НашЛист.Range("I:I").Delete(-4159);
НашЛист.PageSetup.Orientation=2;
//Сформатируем ячейки шапки
НашЛист.Range(НашЛист.Cells(3,2),НашЛист.Cells(3,3)).Merge();
НашЛист.Range(НашЛист.Cells(4,2),НашЛист.Cells(4,3)).Merge();
ФайлЭксел.SaveAs(Путь1+"\ПредЗаказ1",51);
Эксел.WorkBooks.close();
Эксел.Quit();
ФС.УдалитьФайл(Путь1+"\ПредЗаказ.xls");
Сообщить("Файл записан");
КонецЕсли;
Почему не выставляется высота строк?
|
|