具有字符缩进的VB.NET MS-WORD数字列表 [英] VB.NET MS-WORD Number List with Character Indents

查看:62
本文介绍了具有字符缩进的VB.NET MS-WORD数字列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


因此,自从我试图进行任何单词自动化以来,已经有很长一段时间,但长话短说,我需要创建一个包含列表的工作文档。第一个级别是数字,第二个级别是字母,基本上模仿开箱即用的默认
编号格式,但不能完全理解它。

So it has been a long time since I have attempted to do any word automation but long story short, I need to create a work document that includes a list. The first level being numbers and the second being letters, basically mimicking the out of the box default numbering format but can't quite get it figured out.


我到目前为止的代码只是继续缩进数字模式。

The code I have so far just continues the numeric pattern on indent.


这是我到目前为止的代码以及我需要的屏幕截图。谢谢

Here is the code I have so far and a screen capture of what I need. Thanks

Public NotInheritable Class Utilities
    Public Shared Sub CreateDocument()
        'Local Variable Declaration
        Dim application As New Microsoft.Office.Interop.Word.Application
        Dim document As Microsoft.Office.Interop.Word.Document
        Dim range As Microsoft.Office.Interop.Word.Range

        application.Visible = True

        'Add a new document
        document = application.Documents.Add()

        'Add Header and Footer
        For Each Item As Microsoft.Office.Interop.Word.Section In document.Sections
            'Header
            Dim header As Microsoft.Office.Interop.Word.Range = Item.Headers(Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary).Range
            header.Fields.Add(header, Microsoft.Office.Interop.Word.WdFieldType.wdFieldPage)
            header.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter
            header.Text = "Header"
            header.Font.Name = "Arial"
            header.Font.Size = 10.0
            header.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorRed

            'Footer
            Dim footer As Microsoft.Office.Interop.Word.Range = Item.Footers(Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary).Range
            footer.Fields.Add(footer, Microsoft.Office.Interop.Word.WdFieldType.wdFieldPage)
            footer.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter
            footer.Text = "Footer"
            footer.Font.Name = "Arial"
            footer.Font.Size = 10.0
            footer.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorRed
        Next

        'Setup Default Range
        range = document.Range()
        range.Style = document.Styles("No Spacing")
        range.Font.Name = "Arial"
        range.Font.Size = 10.0
        range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorBlack

        range.Text = "Line 1" & vbCrLf
        range.Text &= "Line 2" & vbCrLf & vbCrLf
        
        Dim paragraph As Microsoft.Office.Interop.Word.Paragraph = range.Paragraphs.Add
        paragraph.Range.Text = "First Numbered Line:"
        paragraph.Range.ListFormat.ApplyNumberDefault(Microsoft.Office.Interop.Word.WdDefaultListBehavior.wdWord10ListBehavior)
        paragraph.Outdent()

        Dim list = paragraph.Range.ListFormat.ListTemplate.ListLevels(1).NumberStyle = Microsoft.Office.Interop.Word.WdListNumberStyle.wdListNumberStyleLowercaseLetter

        paragraph.Range.Paragraphs.Add()
        paragraph.Range.Paragraphs(1).Range.Text = "Second Character Line"
        paragraph.Range.Paragraphs(1).Range.ListFormat.ApplyListTemplate(document.ListTemplates(1), True, list)
        paragraph.Range.Paragraphs(1).Indent()

        paragraph.Range.InsertParagraphAfter()
    End Sub
End Class








推荐答案

你好,

这个问题更适合Word for developer论坛,我也在移动这篇文章。

This question is better suited for the Word for developer forum, which I am moving this post too.


这篇关于具有字符缩进的VB.NET MS-WORD数字列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆