如何插入链接到样式的编号ms word c#

时间:2014-09-08 08:40:59

标签: c# ms-word interop

我正在创建一个使用word自动化的应用程序。我正在使用Visual Studio 2010,Microsoft word 2010以及与interop合作。

我的word文档中有以下3种样式。

enter image description here

正如您所看到的,我已经格式化了样式,以便在编号时达到自己的水平。 我希望应用程序要做的是打开已经存在的带有编号项目符号的文档(应用程序可以这样做),然后再添加一些(见图片)。

enter image description here

到目前为止,我已经尝试过了,但它似乎并没有遵循我手动设置的格式。

    public void insertTextHeading(Word.Document document, string bookmark, string text, int fontSize, string headingType, int listNumber, int bulletLevel)
    {
        var start = document.Bookmarks[bookmark].Start;
        var end = document.Bookmarks[bookmark].End;
        Word.Range range = document.Range(start, end);

        //The text design
        range.Font.Name = "Verdana";
        range.Font.Size = fontSize;
        range.set_Style(headingType);

        object n = listNumber;
        Word.ListTemplate template =
            document.Application.ListGalleries[Word.WdListGalleryType.wdNumberGallery].ListTemplates.get_Item(ref n);

        object bContinuePrevList = true;
        object applyTo = Word.WdListApplyTo.wdListApplyToSelection;
        object defBehavior = Word.WdDefaultListBehavior.wdWord10ListBehavior;
        object missing = System.Reflection.Missing.Value;

        range.ListFormat.ApplyListTemplateWithLevel(
        template, ref bContinuePrevList,
        ref applyTo, ref defBehavior, ref missing);
        range.Text = text;
    }

1 个答案:

答案 0 :(得分:1)

有时事实证明,你自己的问题的答案是你是个白痴。 几个小时后,我决定调试我所拥有的每一行代码,结果发现我手动添加到word模板的样式会创建编号本身。因此,当我所要做的就是告诉文本插入我想要的样式时,我试图通过代码添加编号。