Показать сообщение отдельно
Старый 14.04.2008, 15:56   #6  
PMS is offline
PMS
Участник
 
54 / 29 (1) +++
Регистрация: 25.02.2005
Адрес: Санкт-Петербург
Немного "допишите" класс ComExcelDocument_RU:

Форматирование столбца:
X++:
void formatColumn(int _workSheet, int _column, str _format)
{
    COM         comWorkSheet;
    COM         comColumns;
    COM         comColumn;
    COMVariant  comColumnVariant;
    ;

    comWorkSheet        = this.getWorkSheet(_workSheet);
    comColumns          = comWorkSheet.Columns();
    comColumnVariant    = comColumns.item(_column);
    comColumn           = COM::createFromVariant(comColumnVariant);
    comColumn.NumberFormat(_format);
}
В качестве формата (_format) можно устанавливать форматы:
#,##0.000$ - денежный
[$-FC19]dd mmmm yyyy г/;@ - дата
h:mm;@ - время
0.00% - проценты
# ??/?? - простые дроби 21/25
[<=9999999]###-####;(###) ###-#### - номер телефона
@ - текстовый формат

Подробнее о форматах можно узнать в самом Excel-е, записав макрос со сменой формата ячейки, и посмотрев в нем значение, которое будет предаваться в метод "NumberFormat".

Аналогично для ячеек:
X++:
void formatCells(BookMark _bookMark, str _format, int _workSheet = 1)
{
    COM     comRange;
    ;

    comRange = this.findRange(_bookMark, _workSheet);
    comRange.NumberFormat(_format);
}

Выделение жирным шрифтом:
X++:
void setBold(BookMark _bookMark, int _workSheet = 1)
{
    COM     comRange;
    COM     comFont;
    ;

    comRange = this.findRange(_bookMark, _workSheet);
    comFont  = comRange.Font();
    comFont.Bold(true);
}
где _bookMark - это область, шрифт которой Вы хотите сделать жирным.
За это сообщение автора поблагодарили: Poleax (1), demon46 (1), alex55 (1), ZornFire (1).