star_sur 发表于 2014-12-18 20:45:00

遍历表格中所有单元格,当表格中有合并单元格时出错

遍历表格中所有单元格,当表格中有合并单元格时出错
语言vb6.0
            列数 = TXTextControl1.TableColumns(TablesID)
            行数 = TXTextControl1.TableRows(TablesID)
            For 行 = 1 To 行数
            For 列 = 1 To 列数
            cell_txt = TXTextControl1.TableCellText(TablesID, 行,列) ‘出错                        

                     TXTextControl1.TableCellText(TablesID, 行,列)="abc" '没问题   

             Next
            Next
            
表中有合并单元格时就出错,原因很简单,合并列数以后,(TablesID, 行,列)可能不存在
版主怎么解决?
核心就是怎么遍历有合并单元的表格每一cell 读出每个cell中的 内容,好像写内容没问题,但是读就出错了


下面表格出错

Alice 发表于 2014-12-19 11:16:00

回复 1楼star_sur的帖子

根据文档,该接口可用。
目前正在重现该问题当中,如果有进展或是解决方案会给你反馈。

Alice 发表于 2014-12-19 15:07:00

回复 1楼star_sur的帖子

在ActiveX平台下重现该问题的Demo如下:



在获取合并单元格的时候会抛出异常,推测此单元格已经不存在,赋值的时候也不会给该单元格赋值,但不会抛出异常。
此问题已经提交到产品组进行确认,如果有任何反馈,我会给你通知。

这个问题可以通过判断如果是合并单元格,只取可见的单元格的这个值,这样子绕过去。

star_sur 发表于 2014-12-19 17:10:00

通过判断如果是合并单元格,只取可见的单元格的这个值,这样子绕过去

能不能给段代码?

Alice 发表于 2014-12-19 19:15:00

回复 4楼star_sur的帖子

合并的单元格是已知的。
加个判断条件,判断row和column的值,不是这个已知的row,column的时候,获取值。

star_sur 发表于 2014-12-19 19:50:00

你说的情况适合于本软件进行的合并,如果是第三方软件生成的word文件,本软件打开呢?你就判断不出row和column对吧

Alice 发表于 2014-12-22 10:48:00

回复 6楼star_sur的帖子

是的。
目前是无法判断单元格是否合并。
页: [1]
查看完整版本: 遍历表格中所有单元格,当表格中有合并单元格时出错