Мы делаем примерно так:
X++:
#define.edgeBottom(9)
#define.edgeLeft(7)
#define.edgeRight(10)
#define.edgeTop(8)
#define.insideHorizontal(12)
#define.insideVertical(11)
COM borders;
COM border;
;
// Обрамить все выделенное
borders = _range.borders();
color = WinApi::RGB2int( 0, 0, 0 );
border = borders.item( #edgeTop );
border.color( color );
border.lineStyle( 1 );
border = borders.item( #edgeBottom );
border.color( color );
border.lineStyle( 1 );
border = borders.item( #edgeLeft );
border.color( color );
border.lineStyle( 1 );
border = borders.item( #edgeRight );
border.color( color );
border.lineStyle( 1 );