Показать сообщение отдельно
Старый 30.12.2008, 13:27   #1  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
ааа, понятно. Тогда решение в лоб:
Да не нужно листы перебирать, я ж всё вроде написал...
Получите Application как точку опору и мир сам перевернется
X++:
static void Job120(Args _args)
{
    ComExcelDocument_RU doc = new ComExcelDocument_RU();

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

    str sheetName(COM _excel, str _namedRange) // ОНО!
    {
        COM comTemp;
        ;
        comTemp = _excel.Range(_namedRange);
        comTemp = comTemp.Worksheet();
        return comTemp.Name();
    }
    ;

// это всё - подготовка тестовых данных
// ---------------------------------------------------------
    doc.NewFile();
    wbook = doc.getComDocument();
    wkss = wbook.Worksheets();

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

    range = activeSheet.Range('B2');
    range.Name('test');

    range.Select();

    activeSheet = wkss.Add();
    activeSheet.Select(); // специально ушли на другой лист
// ---------------------------------------------------------

// а теперь собственно вызов функции
    box::info(sheetName(xlApp, 'test'));
}