|
Копирование листа Excel в новый документ Excel |
☑ |
0
Alesha
29.08.17
✎
14:37
|
Задача: имеется шаблон файла Иксель, сделать новую книгу и скопировать лист из шаблона в новую книгу.
Данный код позволяет скопировать данные, но размеры ячеек не сохраняются. Нужно что бы копировалось, как в шаблоне, включая формулы. Что можно изменить?
Попытка
Excel = Новый COMОбъект("Excel.Application");
Исключение
Сообщить("Не удалось инициализировать Excel");
Возврат;
КонецПопытки;
Попытка
// Открыть книгу, содержащую шаблон оформления.
Шаблон = Excel.Workbooks.Open("d:\Files\Шаблоны отчетов\Шаблон Software development report in portfolio.xlsx");
ЛистШаблона = Шаблон.WorkSheets("Шаблон Портфеля");
НоваяКнига = Excel.Workbooks.Add();
// добавить в книгу новый лист:
ЛистНовый = НоваяКнига.Sheets.Add();
ЛистНовый.Name = "Проект 1";
// Копировать область из книги-шаблона в новую книгу.
ЛистШаблона.Range("A1:Y87").Copy(ЛистНовый.Range("A1:Y87")); // работает, но не сохраняется размер ячеек
//ЛистШаблона.Copy(ЛистНовый);- не работает выдает ошибку
//Произошла исключительная ситуация (Microsoft Excel): Не удается вставить листы в конечную книгу, так как она содержит меньшее число строк и столбцов, чем исходная книга. Чтобы переместить или скопировать данные в конечную книгу, следует выделить их, а затем с помощью команд копирования и вставки вставить их на листы другой книги.
//Шаблон.Close(0);
Excel.Visible = Истина;
Исключение
Сообщить(ОписаниеОшибки());
Excel.Quit();
КонецПопытки;
|
|
1
Fish
гуру
29.08.17
✎
14:44
|
(0) Копируй файл шаблона полностью, потом уже заполняй новый файл.
|
|
2
пипец
29.08.17
✎
14:44
|
а просто копировать файл и его открывать не ?
|
|
3
Timon1405
29.08.17
✎
14:45
|
погуглить "copy excel sheet with column widths vba" не предлагать?
|
|
4
Alesha
29.08.17
✎
14:53
|
в новом файле будет много листов, каждый подобно листу из шаблона, поэтому нужно полностью скопировать.
|
|
5
НЕА123
29.08.17
✎
14:58
|
|
|
6
Alesha
29.08.17
✎
15:03
|
ЛистШаблона.Copy(ЛистНовый);//- не работает выдает ошибку
//Произошла исключительная ситуация (Microsoft Excel): Не удается вставить листы в конечную книгу, так как она содержит меньшее число строк и столбцов, чем исходная книга. Чтобы переместить или скопировать данные в конечную книгу, следует выделить их, а затем с помощью команд копирования и вставки вставить их на листы другой книги.
|
|
7
Victor111
29.08.17
✎
15:49
|
(6) запиши макрос (копирования из настройками и форматированием), потом посмотри код, и будет понятно что не так в коде в 1с
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший