Как вставить более одного элемента в верхний/нижний колонтитул word с помощью vb.net?


Я использую vb.net пространство имен " импортирует Microsoft.Офис.Взаимодействие.Слово". У меня есть word-документ, и я хочу создать верхний и/или нижний колонтитулы в них. Например, нижний колонтитул типа " дата: [CurrentDate] страница: [CurrentPage]". На данный момент я пишу только одно поле с успехом. Если я напишу / добавлю следующее поле, первое поле будет удалено. Например, "заменить", а не "добавить". А что плохого в коде?

    For Each section As Section In _wordDoc.Application.ActiveDocument.Sections
        Dim footerRange As Range = section.Footers(WdHeaderFooterIndex.wdHeaderFooterPrimary).Range

        footerRange.Fields.Add(footerRange, WdFieldType.wdFieldFileName)
        footerRange.Fields.Add(footerRange, WdFieldType.wdFieldDate)
        ' footerRange.Fields.Add(footerRange, "Page")
        footerRange.Fields.Add(footerRange, WdFieldType.wdFieldPage)
        'footerRange.Fields.Add(footerRange, "-")
        footerRange.Fields.Add(footerRange, WdFieldType.wdFieldNumPages)
        footerRange.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphRight
    Next

Вторая проблема заключается в том, как добавить простой текст в верхний/нижний колонтитул?

1 2

1 ответ:

Я нашел решение:

        footerRange = section.Footers(WdHeaderFooterIndex.wdHeaderFooterPrimary).Range
        footerRange.InsertAfter("Page ")
        footerRange.SetRange(footerRange.End + 1, footerRange.End + 1)
        footerRange.Fields.Add(footerRange, WdFieldType.wdFieldPage)
        footerRange = section.Footers(WdHeaderFooterIndex.wdHeaderFooterPrimary).Range
        footerRange.InsertAfter(" of ")
        footerRange.SetRange(footerRange.End + 1, footerRange.End + 1)
        footerRange.Fields.Add(footerRange, WdFieldType.wdFieldNumPages)