|
v7: Высота строки в экселе из под 1с 7.7. | ☑ | ||
|---|---|---|---|---|
|
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"); Сообщить("Файл записан"); КонецЕсли; Почему не выставляется высота строк? |
|||
|
1
DrZombi
гуру
03.05.16
✎
08:37
|
(0) Используй Ексель, там коду 3 строчки для записи в ексельку :)
|
| Форум | Правила | Описание | Секции | Поиск |