Копирование данных из одного созданного экселя в другой и открытие excel (с сохранением форматов) Копирование данных из одного созданного экселя в другой и открытие excel (с сохранением шрифта, рамки положения текста) и с созданием закладки на которую как раз копируются данные:
Код 1C v 8.х
Процедура КопируемЕксел()
ДокExcel = Новый COMОбъект( "Excel.Application" ) ;
ДокExcel. Application. Workbooks. Application. Workbooks. Open( "d:\temp\file.xls" ) ;
ДокExcel. Application. Workbooks. Application. ActiveSheet. Name = "Отчет Общий" ;
ДокExcel. Application. Workbooks. Application. ActiveWorkbook. Worksheets. Add( ) ;
ДокExcel. ActiveWorkbook. Sheets. Application. ActiveSheet. Name = "Отчет Региональный" ;
xlLastCell = 11 ;
Попытка
Excel = Новый COMОбъект( "Excel.Application" ) ;
Excel. WorkBooks. Open( "d:\temp\Региональный.xls" ) ;
Состояние( "Обработка файла Microsoft Excel..." ) ;
ExcelЛист = Excel. Sheets( 1 ) ;
Исключение
Сообщить( "Ошибка. Возможно неверно указан номер листа книги Excel." ) ;
КонецПопытки ;
ActiveCell = Excel. ActiveCell. SpecialCells( xlLastCell) ;
RowCount = ActiveCell. Row;
ColumnCount = ActiveCell. Column;
Для Column = 1 По ColumnCount Цикл
ДокExcel. Columns( Column) . ColumnWidth = ExcelЛист. Columns( Column) . ColumnWidth;
КонецЦикла ;
Для Row = 1 По RowCount Цикл
Для Column = 1 По ColumnCount Цикл
ДокExcel. Cells( Row, Column) . Value = ExcelЛист. Cells( Row, Column) . Value;
ДокExcel. Cells( Row, Column) . Font. Size = ExcelЛист. Cells( Row, Column) . Font. Size;
ДокExcel. Cells( Row, Column) . Font. Bold = ExcelЛист. Cells( Row, Column) . Font. Bold;
ДокExcel. Range( ExcelЛист. Cells( Row, Column) . MergeArea. Address) . Select( ) ;
ДокExcel. Selection. Merge( ) ;
ДокExcel. Range( ExcelЛист. Cells( Row, Column) . MergeArea. Address) . Borders. LineStyle = ExcelЛист. Cells( Row, Column) . MergeArea. Borders. LineStyle;
ДокExcel. Range( ДокExcel. Cells( Row, Column) , ДокExcel. Cells( Row, Column) ) . Borders. LineStyle = ExcelЛист. Cells( Row, Column) . MergeArea. Borders. LineStyle;
ДокExcel. Range( ДокExcel. Cells( Row, Column) , ДокExcel. Cells( Row, Column) ) . WrapText = Истина ;
ДокExcel. Range( ДокExcel. Cells( Row, Column) , ДокExcel. Cells( Row, Column) ) . VerticalAlignment = - 4108 ;
ДокExcel. Range( ДокExcel. Cells( Row, Column) , ДокExcel. Cells( Row, Column) ) . HorizontalAlignment = - 4108 ;
КонецЦикла ;
КонецЦикла ;
Excel. WorkBooks. Close( ) ;
Excel = 0 ;
ДокExcel. Visible= 1 ;
КонецПроцедуры
Опубликовано на сайте: https://HelpF.pro Прямая ссылка: https://HelpF.pro/faq/view/330.html