+ col - 1, row);
pThisWorksheet->GetRange((_variant_t)strRange)->GetInterior()->PutColor(rgb);
}
void CEclOp::DeleteCells(short nSheet, CString strRange)
{
pThisWorksheet = pThisSheets->GetItem((_variant_t)nSheet);
pThisRange = pThisWorksheet->GetRange((_variant_t)strRange);
pThisRange->Delete();
}
void CEclOp::DeleteCells(short nSheet, unsigned int nFRow, unsigned int nFCol, unsigned int nTRow, unsigned int nTCol)
{
pThisWorksheet = pThisSheets->GetItem((_variant_t)nSheet);
CString strRange;
if (nTCol <= 26)
strRange.Format(TEXT("%c%d:%c%d"), nFCol + 'A' - 1, nFRow, nTCol + 'A'- 1, nTRow);//need to confirm;
else //if (Col > 26 && Col <= 256)//max columns of an excel sheet is 256
{
char chTCol = nTCol % 26 + 'A' - 1 < 'A' 'Z':nTCol % 26 + 'A' - 1;
strRange.Format(TEXT("%c%d:%c%c%d"), nFCol + 'A' - 1, nFRow, (nTCol-1)/ 26 + 'A' - 1, chTCol, nTRow);
}
// strRange.Format("%c%d:%c%d", 'A' + nFCol - 1, nFRow, 'A' + nTCol - 1, nTRow);
pThisRange = pThisWorksheet->GetRange((_variant_t)strRange);
// pThisRange = pThisWorksheet->GetRange("H13:DB1004");
pThisRange->Delete();
}
BOOL CEclOp::DeleteASheetByNO(short nSheet)
{
_WorksheetPtr pSheet = pThisSheets->GetItem(nSheet);
pApplication->DisplayAlerts[0] = FALSE;
pThisWorksheet = pThisSheets->GetItem((_variant_t)nSheet);
pThisWorksheet->Delete();
return TRUE;
}
BOOL CEclOp::DeleteASheetByName(CString strSheet)
{
pApplication->DisplayAlerts[0] = FALSE;
//pThisWorksheet->AttachDispatch(pThisSheets->GetItem(COleVariant("Plot")));
pThisWorksheet = pThisSheets->GetItem(COleVariant(TEXT("Plot")));
pThisWorksheet->Delete();
return TRUE;
}
BOOL CEclOp::InsertAChart(short nSheet)
{
_ChartPtr pChart;
_WorksheetPtr pSheet = pThisSheets->GetItem(nSheet);
//_ChartPtr pChart = pThisWorkbook->Charts>Add();
pChart = pThisWorkbook->Charts->Add();
pChart->PutChartType(xlXYScatterLinesNoMarkers);
SeriesCollectionPtr pSeriesCollection;
SeriesPtr pSeries;
RangePtr pRange;
pThisWorksheet = pThisSheets->GetItem((_variant_t)nSheet);
pSeriesCollection= pChart->SeriesCollection();
pSeries = pSeriesCollection->NewSeries();
pRange = pThisWorksheet->Range["F2"]["F50"];
pSeries->PutXValues((Range*)pRange);
pChart->Location(xlLocationAsObject, pSheet->GetName());
return TRUE;
}
摘自 v2x222的专栏
|