如何使用 Word 互操作在表格内放置分页符?

发布于 2024-10-20 11:30:55 字数 485 浏览 3 评论 0原文

我有一个在 Word 表格中生成的 10x1 表格。第 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 会正确插入一个中断。

有人知道该怎么做吗?

I have a 10x1 table that I have generated in a Word table. Row 1 and row 5 have headings in them (for example). I need row 5 to be at the top of it's own page.

I have tried everything in order to insert a page break:

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

None of the above work. It looks like the page breaks go outside the table. Obviously this must be possible as inside of work, pressing Ctrl+Enter inside of the table's cell inserts a break properly.

Anyone know how to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

独夜无伴 2024-10-27 11:30:55

此代码适用于我的 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;

This code works for me with Word 2010 and 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;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文