SeqFieldOpts.vb
''
'' This code is part of Document Solutions for Word demos.
'' Copyright (c) MESCIUS inc. All rights reserved.
''
Imports System.Globalization
Imports GrapeCity.Documents.Word
Imports GrapeCity.Documents.Word.Fields

'' This sample shows how to use the SEQ field options
'' to enumerate arbitrary items in a DOCX Word document.
Public Class SeqFieldOpts
    Function CreateDocx() As GcWordDocument
        Dim doc = New GcWordDocument()

        Const seqId As String = "paragraphs"
        Dim seqFldOpts = New SeqFieldOptions(doc, seqId)
        seqFldOpts.NumberFormat = "'Paragraph '0':'"

        Dim rnd = Util.NewRandom()
        For i As Integer = 0 To rnd.Next(10, 20) - 1
            doc.Body.AddParagraph(doc.Styles(BuiltInStyleId.Heading2)).AddComplexField(seqFldOpts)
            doc.Body.AddParagraph(Util.LoremIpsumPar())
        Next

        Dim phdr = doc.Body.Sections.First.Headers(HeaderFooterType.Primary).Body.AddParagraph(doc.Styles(BuiltInStyleId.Closing))
        phdr.AddComplexField(New PageFieldOptions(doc) With {.NumberFormat = "'Page '0"})

        doc.UpdateFields(New GrapeCity.Documents.Word.Layout.WordLayoutSettings() With {
            .FontCollection = Util.FontCollection,
            .Culture = CultureInfo.GetCultureInfo("en-US")
        })

        Return doc
    End Function
End Class