c#使用Interop或Aspose重新启动字中的编号列表

时间:2013-11-28 16:46:53

标签: c# ms-word interop aspose

我在Interop中遇到ApplyListTemplate问题, 即使没有编号的段落

,此方法也会重新开始编号

我使用了这段代码:

            this.Application.ActiveDocument.Range().ListFormat.ApplyListTemplateWithLevel(
            ListTemplate: this.Application.ActiveDocument.ListTemplates[listNumber],
            ContinuePreviousList: false,
            ApplyTo: Microsoft.Office.Interop.Word.WdListApplyTo.wdListApplyToWholeList,
            DefaultListBehavior: Microsoft.Office.Interop.Word.WdDefaultListBehavior.wdWord10ListBehavior);

问题是没有应用列表编号的段落返回1 - 而它确实应该返回0或10或9999,或者表示它没有列表级别但肯定不是1的东西。这是一个错误。

此外,如果你有解决方案,我有一个Aspose liscence。

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的解决方案。

 int listNumber = 1;
 foreach (Paragraph p in this.Application.ActiveDocument.Paragraphs)
        {
            if (p.Range.ListFormat.ListType != WdListType.wdListNoNumbering)
            {
                p.Range.ListFormat.ApplyListTemplate(
                    ListTemplate: this.Application.ActiveDocument.ListTemplates[listNumber],
                    ContinuePreviousList: true,
                    ApplyTo: Microsoft.Office.Interop.Word.WdListApplyTo.wdListApplyToWholeList,
                    DefaultListBehavior: Microsoft.Office.Interop.Word.WdDefaultListBehavior.wdWord10ListBehavior);
            }
        }