27.09.2011, 15:26 | #1 |
Участник
|
Новый лист в Excel
Здраствуйте!
Подскажите пожалуйста как создать новую страницу в Excel?? Сейчас использую следующий алгоритм: X++: workSheet = 1; excelDocument.newFile(); // какие-то действия... textBuffer.appendtext(...); excelDocument.insertText("A1", textBuffer, workSheet); Как создать внутри Excel новый лист и вывод на него сделать??? Спасибо! |
|
27.09.2011, 15:35 | #2 |
Участник
|
Пару вопросов по отчетам Excel
Цитата:
Сообщение от Владимир Максимов
Чтобы уточнить синтаксис какой-либо команды непосредственно в Excel, используют встроенный в Excel макрорекодер. Т.е. запись всех действий пользователя, совершаемых в Excel. Пункт меню Сервис -> Макрос -> Начать запись.
Выполняешь все необходимые действия, далее останавливаешь запись, открываешь макрос на редактирование и смотришь, какая именно команда была использована. |
|
|
За это сообщение автора поблагодарили: RVS (1), JuniorAx (1). |
27.09.2011, 16:23 | #3 |
северный Будда
|
а что мешает сделать excelDocument.insertSheet(...)?
__________________
С уважением, Вячеслав |
|
|
За это сообщение автора поблагодарили: Pustik (1), S.Kuskov (9), JuniorAx (1). |
27.09.2011, 16:28 | #4 |
Участник
|
Спасибо за совет! Очень полезно для меня сейчас и на будущее!!! Я сделал всё как говорится "по инструкции" вижу в макросе команду Sheets.Add - теперь надо же это как то в Аксапте её вызвать, я думаю что сделать это можно с использованием COM?? Не подскажите как это сделать? Спасибо!
|
|
27.09.2011, 16:32 | #5 |
Участник
|
Класс ComExcelDocument_RU
В ClassDeclaration описываете переменную X++: COM sheets; X++: COM sheets() { ; if ( !sheets ) sheets = m_comDocument.sheets(); return sheets; } X++: void addSheet( str name = '', int after = 0 ) { COM sheet; COM sheet2; ; this.sheets(); if ( after ) { sheet2 = sheets.item( after ); sheet = sheets.add( COMVariant::createNoValue(), sheet2 ); } else sheet = sheets.add( ); if ( name ) sheet.name( name ); } X++: void setActiveSheet( int idx = 1 ) { COM sheet; ; this.sheets(); sheet = sheets.item(idx); sheet.select(); } X++: excelDocument.addSheet('Лист2',1);
excelDocument.setActiveSheet(2);
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. Последний раз редактировалось Pustik; 27.09.2011 в 16:37. |
|
|
За это сообщение автора поблагодарили: Товарищ ♂uatr (1). |
27.09.2011, 16:32 | #6 |
Участник
|
А вот pitersky подсказывает, что уже есть реализация этого в стандарте. Вот там и посмотрите как это делается ComExcelDocument_RU.insertSheet
|
|
27.09.2011, 16:38 | #7 |
Участник
|
Я пока печатал сообщение, появилось сообщение pitersky! :-) Всем спасибо большое!!!
|
|
|
|