0

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

  1. 静态文本 1.
  2. 已添加书签的项目。
  3. 静态文本 3.

其中一项已添加书签,我需要将书签替换为包含多个段落的文本。

当我用包含几个段落的文本替换书签项目时,我会为添加的每个段落获得自动编号项目:

bookmark1.Range.Text = "Replaced P1."+Environment.NewLine
                      +"Replaced P2."+Environment.NewLine
  1. 静态文本 1.
  2. 更换P1。
  3. 替换 P2。
  4. 静态文本 3.

如何跳过自动编号并将所有文本添加到单个列表项?

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

像这样:

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

4

1 回答 1

0

根据这个 MSDN 论坛帖子中接受的答案,这里的关键是使用\v转义字符作为Shift+Enter组合键(插入垂直制表符)。所以,基本上,你可以这样做:

// 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 互操作 API 版本 15 上成功测试)

于 2013-01-08T20:07:13.627 回答