Office Interop Word c # .net: копирование таблицы в специальном месте - PullRequest
2 голосов
/ 18 ноября 2009

В настоящее время я работаю над таблицами в шаблоне Word с Interop.

В моем шаблоне у меня есть таблица, которую я хочу скопировать (копирование облегчит мне заполнение данных, а не вставку строк и столбцов, потому что шаблон имеет много форматирования записи). Новая таблица должна быть вставлена ​​прямо под исходной таблицей. Лучше всего, чтобы они выглядели как один стол.

Моя проблема в том, что я получаю параграф между двумя таблицами. Как я могу избежать этого?

Вот мой код:

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 Ответ

6 голосов
/ 19 ноября 2009

Итак, больше работал над этой проблемой и нашел решение. Думаю, что только я запутался в вещах с диапазоном. Просто подумал, что я должен опубликовать это. :)

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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...