|
// *********************************************************
// BOX罫線
// *********************************************************
BOOL LboxExcel::Box( long nX1, long nY1, long nX2, long nY2 )
{
bError = false;
char szColumn1[16];
char szColumn2[16];
char szRange[16];
szColumn1[0] = 0x40 + (unsigned char)nX1;
wsprintf( szColumn1+1, "%d", nY1 );
szColumn2[0] = 0x40 + (unsigned char)nX2;
wsprintf( szColumn2+1, "%d", nY2 );
wsprintf( szRange, "%s:%s", szColumn1, szColumn2 );
_variant_t vRange(szRange);
_variant_t vStyle;
try {
if ( pXL != NULL ) {
if ( pBook != NULL ) {
pSheet = pBook->ActiveSheet;
pCells = pSheet->GetRange(&vRange);
pBorders = pCells->GetBorders();
pBorder = pBorders->GetItem(xlDiagonalDown);
vStyle.operator = ( (LONG)xlNone );
pBorder->PutLineStyle(vStyle);
pBorder.Release();
pBorder = NULL;
pBorder = pBorders->GetItem(xlDiagonalUp);
vStyle.operator = ( (LONG)xlNone );
pBorder->PutLineStyle(vStyle);
pBorder.Release();
pBorder = NULL;
for( int i = 0; i < 4; i++ ) {
switch( i ) {
case 0:
pBorder = pBorders->GetItem(xlEdgeLeft);
break;
case 1:
pBorder = pBorders->GetItem(xlEdgeTop);
break;
case 2:
pBorder = pBorders->GetItem(xlEdgeBottom);
break;
case 3:
pBorder = pBorders->GetItem(xlEdgeRight);
break;
}
vStyle.operator = ( (LONG)xlContinuous );
pBorder->PutLineStyle(vStyle);
vStyle.operator = ( (LONG)xlThin );
pBorder->PutWeight( vStyle );
vStyle.operator = ( (LONG)xlAutomatic );
pBorder->PutColorIndex( vStyle );
pBorder.Release();
pBorder = NULL;
}
pBorders.Release();
pBorders = NULL;
pCells.Release();
pCells = NULL;
pSheet.Release();
pSheet = NULL;
}
}
}
catch (_com_error &e)
{
ComError.operator = ( (char *)(e.ErrorMessage()) );
bError = true;
}
return !bError;
}
| |