开发者

Office Interop Word c#.net : Copying a table at a special location

开发者 https://www.devze.com 2022-12-12 07:56 出处:网络
I\'m currently working on tables in a Word template with Interop. In my template I have a table which I want to copy (Copying will make it easier for me to fill in the data rather than inserting rows

I'm currently working on tables in a Word template with Interop.

In my template I have a table which I want to copy (Copying will make it easier for me to fill in the data rather than inserting rows and column, because the template has a lot of write formatting). The new tabl开发者_StackOverflow中文版e should be inserted right under the original table. The best would be that they would look like one single table.

My problem is that I get a paragraph between the two tables. How can I avoid this?

Here is my code:

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();

Any help would be very appreciated! :)


So, was working more on this issue and found a solution. Guess it was just me that got confused about the range stuff. Just thought i should post it. :)

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();
0

精彩评论

暂无评论...
验证码 换一张
取 消