Как поместить разрыв страницы внутри таблицы с помощью взаимодействия Word? - PullRequest
1 голос
/ 02 марта 2011

У меня есть таблица 10x1, которую я сгенерировал в таблице Word.Строка 1 и строка 5 содержат заголовки (например).Мне нужно, чтобы строка 5 находилась вверху собственной страницы.

Я перепробовал все, чтобы вставить разрыв страницы:

table.Cell(row, 1).Range.InsertBreak(wdBreakType.wdPageBreak);

table.Cell(row, 1).Range.Characters.Last.InsertBreak(WdBreakType.wdPageBreak);

table.Cell(row, 1).Range.Collapse();
table.Cell(row, 1).Range.InsertBreak(WdBreakType.wdPageBreak);

Ничего из вышеперечисленного не работает.Похоже, разрывы страниц выходят за пределы таблицы.Очевидно, это должно быть возможно, так как внутри работы, нажатие Ctrl + Enter внутри ячейки таблицы правильно вставляет разрыв.

Кто-нибудь знает, как это сделать?

1 Ответ

0 голосов
/ 02 марта 2011

Этот код работает для меня с Word 2010 и VS 2010:

        Word.Application app = new Word.Application();
        var doc = app.Documents.Add();
        var tbl = doc.Tables.Add(doc.Range(), 10, 2);
        tbl.Borders[Word.WdBorderType.wdBorderHorizontal].LineStyle = Word.WdLineStyle.wdLineStyleSingle;
        tbl.Borders[Word.WdBorderType.wdBorderHorizontal].Color = Word.WdColor.wdColorDarkRed;

        tbl.Borders[Word.WdBorderType.wdBorderVertical].LineStyle = Word.WdLineStyle.wdLineStyleSingle;
        tbl.Borders[Word.WdBorderType.wdBorderVertical].Color = Word.WdColor.wdColorDarkRed;

        tbl.Borders[Word.WdBorderType.wdBorderTop].LineStyle = Word.WdLineStyle.wdLineStyleSingle;
        tbl.Borders[Word.WdBorderType.wdBorderTop].Color = Word.WdColor.wdColorDarkRed;

        tbl.Borders[Word.WdBorderType.wdBorderBottom].LineStyle = Word.WdLineStyle.wdLineStyleSingle;
        tbl.Borders[Word.WdBorderType.wdBorderBottom].Color = Word.WdColor.wdColorDarkRed;


        tbl.Cell(6, 1).Range.InsertBreak(Word.WdBreakType.wdPageBreak);

        app.Visible = true;
        doc = null;
        app = null;
...