对于合并单元格的内容和备注等信息,只有通过合并前左上角的单元格坐标才能获得,所以本文介绍怎样获得合并单元格相关信息。
1.判定是否是合并单元格
之前提到了判断一个单元格是否是合并单元格的方法,这里再叙述一遍。
先获得一个单元格实例:
Range oCurCell;//定义的当前单元格实例
//获得接口指针
oCurCell.AttachDispatch(m_oCurrRange.GetItem(COleVariant(
(long)i),COleVariant( (long)j) ).pdispVal,TRUE);
下面是判断是否是单元格的方法:
VARIANTvar;
var=oCurCell.GetMergeCells();
if(var.boolVal== -1 )
{
//是合并的单元格
}
elseif(var.boolVal== 0 )
{
//不是合并的单元格
}
在合并单元格的任意子单元格中都可以进行这种判断。
2.获得合并的行数和列数
如果是合并单元格,获得合并的行数和列数
//是合并的单元格
RangerangeMerge;
rangeMerge.AttachDispatch(oCurCell.GetMergeArea(),TRUE);
//合并行数
rangeMerge.AttachDispatch(rangeMerge.GetRows(),TRUE);
intnRow=rangeMerge.GetCount();
//合并列数
rangeMerge.AttachDispatch(rangeMerge.GetColumns(),TRUE);
intnColumn=rangeMerge.GetCount();
3.获得合并单元格左上角的坐标
intnStartRow=rangeMerge.GetRow();
intnstartColumn=rangeMerge.GetColumn();
这样就可以获得合并单元格的内容和备注了。
4.合并单元格的宽度和高度
VARIANTvarWidth=rangeMerge.GetColumnWidth();
VARIANTvarHeight=rangeMerge.GetRowHeight();
这两个函数不仅仅能获得普通的单元格的宽度和高度,合并单元格也可以。如果获得不了,可能需要使用合并单元格左上角的坐标。
本文介绍了如何在Excel中判断单元格是否为合并单元格,获取合并单元格的行数、列数、左上角坐标及宽度和高度的方法。
3151

被折叠的 条评论
为什么被折叠?



