Word VBA: Как программно установить курсор в зону сносок?

Автор Anton, 03 ноября 2016, 14:56

Anton

Добрый день.
Возможно ли программно установить курсор в начало зоны сносок, если сноски вообще существуют?

Администратор

В ворде сноски можно увидеть в двух местах:
1) в режиме разметки сноски находятся внизу на странице;
2) в режиме черновика есть специальная область, где собраны все сноски.

Вы куда хотите поставить курсор? В какое место из этих двух?

Anton

Хотел, чтобы курсор в режиме разметки страницы устанавливался в начало текста самой первой сноски. Про режим черновика я знаю, спасибо.

Администратор

Например, если в файле используются страничные сноски, то на странице внизу есть сноски. Сноски могут быть на нескольких страницах.
Как макросу узнать, на какой странице нужно перейти в сноски?

Anton

Просто перейти к самой первой сноске, не важно, на какой странице она будет. Просто к началу текста самой первой в документе сноски.

Администратор

Sub Макрос()

    Dim rng As Range
   
    ' Переход к первой страничной сноске, какая есть в файле.
    If ActiveDocument.Footnotes.Count > 0 Then
        ' Vba-именование области страничных сносок.
        Set rng = ActiveDocument.StoryRanges(wdFootnotesStory)
        ' Изменение области, чтобы она стала представлять из себя точку вставки.
        rng.SetRange 0, 0
        ' Вставка курсора в область страничных сносок.
        rng.Select
    End If

End Sub

Sub Макрос2()

    Dim rng As Range
   
    ' Переход к первой концевой сноске, какая есть в файле.
    If ActiveDocument.Endnotes.Count > 0 Then
        ' Vba-именование области концевых сносок.
        Set rng = ActiveDocument.StoryRanges(wdEndnotesStory)
        ' Изменение области, чтобы она стала представлять из себя точку вставки.
        rng.SetRange 0, 0
        ' Вставка курсора в область концевых сносок.
        rng.Select
    End If

End Sub

Anton