Excel操作——合并单元格的相关信息

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

你可能感兴趣的:(Excel)