我在一个三列的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
答案 0 :(得分:1)
生成Word文档内容时,最好使用专用的Range
对象来定义“目标”。
下面的示例代码为Range
创建了一个oPara4
对象。这样就可以将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";