Office Interop Word c#.net:在特殊位置复制表

时间:2009-11-18 14:03:46

标签: .net interop ms-word

我目前正在使用Interop在Word模板中处理表格。

在我的模板中,我有一个我想要复制的表(复制将使我更容易填写数据而不是插入行和列,因为模板有很多写入格式)。 新表应插在原始表的正下方。最好的是它们看起来像一张桌子。

我的问题是我在两个表之间得到一个段落。我怎么能避免这个?

这是我的代码:

object oCollapseEnd = Word.WdCollapseDirection.wdCollapseEnd;
Word.Range rng = table.Range;
rng.Collapse(ref oCollapseEnd);

Word.Table tableCopy = document.Tables.Add(rng, 1, 1, ref missing, ref missing);
table.Range.Copy();
tableCopy.Range.Paste();

Clipboard.Clear();

任何帮助都将非常感谢! :)

1 个答案:

答案 0 :(得分:6)

所以,正在更多地研究这个问题并找到了解决方案。猜猜只是我对范围内容感到困惑。只是想我应该发布它。 :)

Word.Range range = table.Range;
range.Copy();

Word.Range rng = table.Range;
rng.SetRange(table.Range.End, table.Range.End);

Word.Table tableCopy = document.Tables.Add(rng, 1, 1, ref missing, ref missing);
tableCopy.Range.Paste();

// got an extra row for some reason -> need to delete it
table.Rows[table.Rows.Count].Delete();