1、纵向合并单元格
//从第13行起(包括第13行),向上选择12行,并纵向合并
int rowcount = 12;
int cellrow = 13;
table.Cell(cellrow, 1).Select();//光标放在第13行的第一个单元格
object WdUnits = Microsoft.Office.Interop.Word.WdUnits.wdLine;
object WdMovementType = Microsoft.Office.Interop.Word.WdMovementType.wdExtend;
wApp.Selection.MoveUp(WdUnits, rowcount, WdMovementType);
wApp.Selection.Cells.Merge();
但纵向合并单元格总是会涉及到跨页问题,导致无法选中单元格,合并失败。目前为止,我测试得到的有效方法是:
(1)设置表格属性:按照下图红框中的设置


(2)修改选择单元格的代码:
//从第13行起(包括第13行),向上选择12行,并纵向合并
int rowcount = 12;
int cellrow = 13;
table.Cell(cellrow, 1).Select();//光标放在第13行的第一个单元格
object WdUnits = Microsoft.Office.Interop.Word.WdUnits.wdLine;
object WdMovementType = Microsoft.Office.Interop.Word.WdMovementType.wdExtend;
for (int rc = 0; rc < rowcount; rc++)//循环选择单元格
{
wApp.Selection.MoveUp(WdUnits, 1, WdMovementType);
}
wApp.Selection.Cells.Merge();
(3)目前是成功解决了纵向合并单元格的跨页问题。只有一个瑕疵,在页尾会出现显示不全的问题,需要用户手动拉动单元格,将内容全部显示出来。

本文介绍了一种有效解决Word表格跨页纵向合并单元格导致合并失败的方法。首先,通过调整表格属性确保跨页时完整显示。然后,使用循环选择单元格并进行合并,成功避免了跨页问题。尽管此方法会在页尾出现内容显示不全的情况,但用户可以通过手动操作完全显示内容。
2114

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



