我在一个三栏的 word 文档中工作。我可以在文本后插入一个分栏符,但我不能在之后的新栏中写它。我想念什么?
Word.Paragraph oPara4;
var oRng = document.Bookmarks.get_Item(ref oEndOfDoc).Range;
oPara4 = document.Content.Paragraphs.Add(oRng);
oPara4.Range.InsertParagraphBefore();
oPara4.Range.Text = "Some Text Before the break";
oPara4.Format.SpaceAfter = 24;
oPara4.Range.InsertParagraphAfter();
// Column Break
oPara4.Range.InsertBreak(Word.WdBreakType.wdColumnBreak);
// New Text in new column
最佳答案
生成 Word 文档内容时,最好使用专用的 Range
对象来定义“目标”。
下面的示例代码为 oPara4
创建了一个 Range
对象。这使得将 Range
“折叠”到它的终点成为可能。 (可以把它想象成在有选择时按向右箭头,以便在选择后获得闪烁的光标。)
在插入分栏符之前折叠 Range
可确保在将新内容(分栏符)写入 Range
时,在此之前创建的所有内容都不会丢失。插入分栏符后,Range
再次折叠到其终点,现在位于下一列中。
Word.Paragraph oPara4;
var oRng = doc.Bookmarks.get_Item(@"\EndOfDoc").Range;
oPara4 = doc.Content.Paragraphs.Add(oRng);
Word.Range rngPara = oPara4.Range;
rngPara.InsertParagraphBefore();
rngPara.Text = "Some Text Before the break";
oPara4.Format.SpaceAfter = 24;
rngPara.InsertParagraphAfter();
rngPara.Collapse(Word.WdCollapseDirection.wdCollapseEnd);
// Column Break
rngPara.InsertBreak(Word.WdBreakType.wdColumnBreak);
rngPara.Collapse(Word.WdCollapseDirection.wdCollapseEnd);
rngPara.Text = "next";
关于C# Word 文档中的分栏符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57004217/