Тема: Excel clearRange
Показать сообщение отдельно
Старый 24.02.2011, 14:47   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Damn Посмотреть сообщение
А вставка пустого значения в ячейку посредством метода insertValue() не помогает ?
Ну это уж чересчур!
Цитата:
Сообщение от Damn Посмотреть сообщение
Нужно в классе ComExcelDocument_RU писать свой метод, который будет вызывать clearContents() для выбранных ячеек.
Необязательно. Можно по ходу своей обработки перейти к COM-объектам Excel и вызывать их методы напрямую:
X++:
{
    ComExcelDocument_RU doc = new ComExcelDocument_RU();

    COM     xlApp;
    COM     wbook;
    COM     activeSheet;
    COM     range;
    ;

    doc.NewFile('',true);
    wbook = doc.getComDocument(); // ухватили COM Workbook и от него пляшем дальше

    xlApp = wbook.Parent();
    activeSheet = xlApp.ActiveSheet();

    range = activeSheet.Range('A1:E10');
    range.Value2('test');

    print 'Загляните в окошко Excel';
    pause;

    range = activeSheet.Range('B2:D9');
    range.ClearContents(); // вот он КАТАРСИС (в смысле ОЧИЩЕНИЕ) ;-)

    info('Еще раз загляните в окошко Excel');
}
За это сообщение автора поблагодарили: novic (1).