确定是否合并了Word单元格

时间:2010-11-24 17:15:25

标签: .net interop ms-word

我需要以编程方式添加和删除Word 2010表中的行。不幸的是,表的标题包含水平和垂直合并的合并单元格。使用Row.Add和Row.Delete方法时会导致错误。我已经测试并发现我可以通过编程方式删除合并的单元格(Cell.Split),然后执行.Add和.Delete方法,然后恢复合并的单元格。我遇到的问题是确定合并的单元格。

-------------------------
| 1,1 | 1,2 | 1,3 | 1,4 |
-------------------------
| 2,1 | 2,2 | 2,3 | 2,4 |
-------------------------

如果单元格1,1和2,1垂直合并,则访问Table.Cell(2,1)会引发错误。这很好。但是,如果单元格1,1和1,2是水平合并的,则访问1,2不会引发错误,但访问1,4会发生错误。这意味着我无法确定哪些单元格是水平合并的。

我要做的是让设计人员更改Word文档的外观和感觉,但表中的数据由人们使用Web应用填写的SQL查询填充。

我的问题是,有没有办法确定表的布局,以便我可以删除合并的单元格并在添加和删除行后重新创建它们?

谢谢, 亚伦

3 个答案:

答案 0 :(得分:2)

在处理可能包含合并单元格的表格时,您必须始终使用CELL(1,1)并使用CELL.NEXT(Next是CELL对象的属性)单步执行单元格

如果这样做,您可以询问“当前”单元格的行和列。你+不能直接在带有合并单元格的表格中按行col引用单元格,否则你会得到你提到的错误。

然后继续直到NEXT没有返回任何内容。

答案 1 :(得分:0)

在处理完所有记录之前,你必须推迟合并。

Word不适用于表格。

我建议您创建一个Excel工作簿,并将Excel工作簿中的工作表链接到Word文档。 Excel最适合表格。

答案 2 :(得分:0)

我最后在Table Properties / Alt Text / Decription区域中描述了表格的布局。然后在代码中读取它以拆分单元格,删除行然后重新合并单元格。原油但它有效。