VC控制EXCEL的基本操作.doc
文本预览下载声明
?
VC控制EXCEL的基本操作之选择范围篇
分类:?EXCEL2012-09-03 09:35?2033人阅读?评论(0)?收藏?举报
exceldatec
选择篇 1?选择单元格
?
//选择一个单元格
range.AttachDispatch(sheet.GetRange(COleVariant(_T(A1)),COleVariant(_T(A1))),TRUE);
?
//选择多个单元格
range.AttachDispatch(sheet.GetRange(COleVariant(_T(A1)),COleVariant(_T(D1))),TRUE);
?
//使用变量表示单元格
CString CellName;
Int i=1;j=1;
CellName.Format(_T(“%c%d”),j+64,i);?? //A–Z? 65-90
?
?
//加载单元格
rnge.AttachDispatch(range.GetRange(COleVariant(CellName),COleVariant(CellName))); 2?选择某行
?
1)
//选择第一行
range.AttachDispatch(sheet.GetRange(COleVariant(_T(A1)),COleVariant(_T(IV1))),TRUE);
?
//选择前5行
range.AttachDispatch(sheet.GetRange(COleVariant(_T(A1)),COleVariant(_T(IV5))),TRUE);
?
2)先选择某行中的某个单元格,然后再选择整行
???????Range rows;
?
???????rows.AttachDispatch(sheet.GetRange(COleVariant(_T(A1)),COleVariant(_T(A1))),TRUE);
???????rows=rows.GetEntireRow();
?
3)获得所有的行,然后再选择指定行
????Range rows;
?
???????range.AttachDispatch(sheet.GetRows(),TRUE);
???????//选择第一行
???????rows.AttachDispatch(range.GetItem(COleVariant((long)1),vtMissing).pdispVal);
???????rows.SetRowHeight(COleVariant((long)60)); ?
3?选择某一列
?
1)
range.AttachDispatch(sheet.GetRange(COleVariant(LA1),COleVariant(LA65536)));???//第一列
?
2)先选择某列中的某个单元格,然后再选择整列
?
range.AttachDispatch(sheet.GetRange(COleVariant(LA1),COleVariant(LA1)));???//第一列
range=range.GetEntireColumn();
?
3)先获得所有列,然后再选择某一列
//获得所有列
range.AttachDispatch(sheet.GetColumns(),true);
//选择第一列
range.AttachDispatch(range.GetItem(COleVariant((long)1),vtMissing).pdispVal,TRUE);
? 4?选择全部CELLS
?
range.AttachDispatch(sheet.GetCells(),TRUE);//加载所有单元格
? 5?选择已使用的单元格
range.AttachDispatch(sheet.GetUsedRange());//加载已使用的单元格
? 6?获取单元格的值
1)
range=sheet.GetRange(COleVariant(A1),COleVariant(A1));
COleVariant rValue;rValue=COleVariant(range.GetValue());rValue.ChangeType(VT_BSTR);this-MessageBox(CString(rValue.bstrVal));
?
2)
?
//读取第一个单元格的值
?range.AttachDispatch(sheet.GetCells());
?range.AttachDispatch(range.GetItem (COleVariant((long)1),COleVariant((long)1)).pdispVal );
?
?vResult =range.G
显示全部