|
![]() |
#1 |
Сенбернар
|
Range("A1").Select
Sheets("Лист1").Select Selection.Copy Sheets("Лист2").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Это в Екселе так. Ключевое слово - Специальная Вставка... Ну, а раз в Екселе можно, то и из Аксапты (в Екселе же ![]()
__________________
Best Regards, Roman |
|
![]() |
#2 |
Участник
|
Роман, спасибо!
НО весь вопрос в том и заключается, как это можно сделать в Аксапте... Идея мне кажется ясной, но вот пример синтаксиса, да еще такого, чтоб работал, я найти не могу... Если же делать через Макрос в Excel'е, то непонятно, как записывать именно столько листов, сколько раз выполняется условие. И именно через один (т. е. 1, 3, 5, ...). Поскольку я в макрос залезла третий раз в жизни, то у меня была надежда, что это все можно проще провернуть через Axapta... ![]() |
|
![]() |
#3 |
MCT
|
Посмотрите оставшийся в живых в трешке класс ComExcelDocument_RU, там что ни метод то портация из VB в X++
__________________
Axapta book for developer |
|
![]() |
#4 |
Сенбернар
|
__________________
Best Regards, Roman |
|
![]() |
#5 |
Участник
|
Да простит меня автор кода, я честно проверил его работоспособность
![]() X++: void copyWorkSheet(anyType _sheetToCopyID, anyType _sheetAfterID) { COM sheetToCopy; COM sheetAfter; ; sheetToCopy = this.getWorkSheet(_sheetToCopyID); if (_sheetAfterID) sheetAfter = this.getWorkSheet(_sheetAfterID); if (sheetToCopy && sheetAfter) { sheetToCopy.copy(sheetAfter); } } X++: static void Job41(Args _args) { ComExcelDocument_RU excel = new ComExcelDocument_RU(); ; excel.newFile("C:\\test.xlsx"); excel.visible(true); excel.copyWorkSheet(1, 2); } |
|
|
За это сообщение автора поблагодарили: Zoe (1), decoder (1). |
![]() |
#6 |
Moderator
|
Вот еще темка до кучи: Копирование листов в Excel
Кстати, она болтается в "Похожих темах" к этой. Так что не пренебрегаем смотреть в низ страницы, не пренебрегаем! P.S. Цитата:
![]() |
|
|
За это сообщение автора поблагодарили: Lemming (1). |