【求助】Word合并单元格给VC读取带来的苦恼

[复制链接]
查看11 | 回复1 | 2021-1-27 06:56:27 | 显示全部楼层 |阅读模式


偶有一个表格,如上图,共8行、32列,在用VC进行操作时(打开文件等代码不贴了):
Word::RowsPtrpRows=NULL;
Word::RowPtrpRow=NULL;
Word::ColumnsPtrpCols=NULL;
//获取行集和列集
pRows=pTable->GetRows();
pCols=pTable->GetColumns();
if(NULL==pRows||NULL==pCols)
{
returnOpError;
}
rowCount=pRows->GetCount();
colCount=pCols->GetCount();
//获取第四行信息,如果不是位:内容:定义的模式,则加入备注
if(rowCount>=4)
{//合并第四行
pRow=pRows->Item(4);
//后面有一大堆操作
}
我们可以看到,表格中第7、8行第5列单元格合并了,结果导致第四行单元格无法读取,代码执行到红字部分时,出现UnhandledException...


如果第7、8行的那个合并单元格拆分开来,就不会出现问题。我奇怪的是,为什么第7行、第8行的合并单元格对第4行会有影响?
(当然,我的代码中也有对合并单元格的处理,就是当我检测到单元格高度大于左边单元格时,意味着碰到被合并的单元格了,我就将它拆分。)
如果有哪位大神知道其中的原因,还望指导,不甚感激。谢谢!
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:56:27 | 显示全部楼层
经过试验,读任何一行都不行,意味着不能按行读取,不解!
但可以按单元格索引读取,如:pTable->Cell(1,1),Cell(3,3),Cell(4,5),包括Cell(7,5)(第5列只有7行,所以,Cell(7,5)是第5列的最后一个单元格)都能读取,可是我需要的就是按行读,因为我要合并一行单元格。但不能合并后面的所有单元格,那是我将无法区分里面的字符串表示什么含义。头疼啊,现在卡在这里无法继续了。求大神支支招啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行