Показать сообщение отдельно
Старый 26.03.2009, 14:13   #6  
wolfstein is offline
wolfstein
Axapta Retail User
Axapta Retail User
 
51 / 91 (4) ++++
Регистрация: 05.07.2006
Цитата:
Сообщение от Zabr Посмотреть сообщение
Gustav,спасибо. Запустил. Остались листы:
Лист1 - Лист5 - SheetBeforeDeleted - SheetAfterDeleted.
То есть, 4-й лист удалился. Но непонятно, почему вместо 2-го остался 5-й: ведь мы его переименовали.
Потому что метод doc.insertSheet(), вторым параметром принимает номер листа после которого необходимо вставить лист.
Т.е. переименовывали лист с номером 5 с названием Лист2
Если метод переписать таким образом:
X++:
{
    ComExcelDocument_RU doc = new ComExcelDocument_RU();
    COM                 sheet;
    ;
    doc.newFile();
    doc.visible(true);

    doc.insertSheet(0,1);
    doc.insertSheet(0,2);
    doc.insertSheet(0,3);
    doc.insertSheet(0,4);

    sheet = doc.getWorkSheet(4);
    sheet.Select();
    sheet.Name('SheetToDelete');

    sheet = doc.getWorkSheet(3);
    sheet.Select();
    sheet.Name('SheetBeforeDeleted');

    sheet = doc.getWorkSheet(5);
    sheet.Select();
    sheet.Name('SheetAfterDeleted');

    sheet = doc.getWorkSheet(4);
    sheet.Select();
    sheet.delete();
}
то в результате листы будут:
Лист1-Лист2-SheetBeforeDeleted-SheetAfterDeleted