gpt4 book ai didi

c# - 使用互操作 C# 在 Word 中生成多级列表

转载 作者:太空宇宙 更新时间:2023-11-03 13:14:34 25 4
gpt4 key购买 nike

我想要的:

  1. Heading 1

    1.1. Heading 2

       1.1.1. Heading 3

    1.2。标题 2

  2. 标题 1

等等。

我看到有一种列表样式可以实现这一点,但我不知道如何编写它。

Word.Range rng = wordDoc.Paragraphs.Add().Range;
rng.ListFormat.ApplyListTemplate(...);

我不确定如何填充 ApplyListTemplate() 的参数,或者这是否是正确的方法。我找不到任何 ListTemplate 对象的任何实际示例,只能找到对它们的引用。

此处引用:http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.listformat.applylisttemplate(v=office.15).aspx

最佳答案

我刚刚在文档级加载项中完成了这项工作。如果您的是应用程序级加载项,情况会略有不同。

Microsoft.Office.Interop.Word.Application app = Globals.ThisDocument.Application;
ListGallery gallery = app.ListGalleries[WdListGalleryType.wdOutlineNumberGallery];
// this one matches the numbering in your example, but not the indentation
ListTemplate myPreferredListTemplate = gallery.ListTemplates[5];

Style style = Globals.ThisDocument.Styles["Heading 1"];
style.LinkToListTemplate(myPreferredListTemplate, 1);

画廊似乎是预定义的应用级列表样式,但您也可以通过 Document.ListTemplates 创建和重用文档级 ListTemplate

创建自己的缩进将是您获得所需缩进的方式。您只需尝试使用 ListTemplate.ListLevels 中的设置。

关于c# - 使用互操作 C# 在 Word 中生成多级列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27022873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com