插入段落时禁用自动编号列表

时间:2013-01-08 16:49:15

标签: c# .net ms-word office-interop

我有带有编号列表的word文档。

  1. 静态文本1。
  2. 已添加书签的项目。
  3. 静态文本3.
  4. 其中一个项目已加入书签,我需要用包含多个段落的文本替换书签。

    当我用包含多个段落的文本替换带书签的项目时,我会为每个段落添加自动枚举的项目:

    bookmark1.Range.Text = "Replaced P1."+Environment.NewLine
                          +"Replaced P2."+Environment.NewLine
    
    1. 静态文本1。
    2. 替换了P1。
    3. 替换为P2。
    4. 静态文本3.
    5. 如何跳过自动枚举并将所有文本添加到单个列表项?

      UPD: 编号列表样式也已左对齐,每个插入的段落必须具有相同的左对齐。

      像这样:

      __ 1。静态文本1.更多文本
      更多文字
      _
      的_2。 替换P1。
      __ 替换为P2。更多文字
      更多文字
      __3。静态文本3.

1 个答案:

答案 0 :(得分:0)

根据this MSDN forum post中接受的答案,此处的关键是使用{kbd> Shift + Enter 键的\v转义字符 - 组合(插入垂直制表符)。所以,基本上,你可以这样做:

// Get bookmark
var bookmark = myDocument.Bookmarks["myBookmark"];

// Get the list item
var listItem = bookmark.Range.ListParagraphs[1];

// Change the text using "Shift+Enter" escaped using "\v"
listItem.Range.Text = "Replacement Line 1\vReplacement Line 2\r";

(在Word 2013和Word Interop API的第15版上成功测试)