Office互操作 - 将表格复制到现有表格下方2行

时间:2013-12-19 17:14:07

标签: c# ms-word office-interop

我正在尝试复制现有的表并将其粘贴到现有表格下方2行。

以下是我找到的代码(请参阅StackOverflow Question 1756226)并修改:

oWord.Selection.MoveDown(Microsoft.Office.Interop.Word.WdUnits.wdLine, iRow+3);
Microsoft.Office.Interop.Word.Range range = oWordDoc.Tables[iTable-1].Range;
range.Copy();

Microsoft.Office.Interop.Word.Range rng = oWordDoc.Tables[iTable-1].Range;
rng.SetRange(oWordDoc.Tables[iTable-1].Range.End, oWordDoc.Tables[iTable-1].Range.End);

Microsoft.Office.Interop.Word.Table tableCopy = oWordDoc.Tables.Add(rng, 4, 7, ref oMissing, ref oMissing);
tableCopy.Range.Paste();

不幸的是,代码将表粘贴为当前表的一部分而不是新表,因此新表不会添加到word文档的表集合中。

我认为这条线会达到我的目的:

oWord.Selection.MoveDown(Microsoft.Office.Interop.Word.WdUnits.wdLine, iRow+3);

但即使选择光标移动到当前表格下方,它也会将副本作为现有表格的一部分粘贴。 请问如何将表格粘贴到现有表格末尾下面的2行?

1 个答案:

答案 0 :(得分:1)

如果有人搜索到这个问题的答案,我就是这样做的:

oWord.Selection.Tables[1].Select();
oWord.Selection.Copy();
oWord.Selection.MoveDown(WdUnits.wdLine, 2);
oWord.Selection.Paste();