Форум по VBA и MS Office

Word => Макросы в Word => Тема начата: Svetik от 02 июня 2016, 19:08

Название: Отделить знак сноски от цифры сноски
Отправлено: Svetik от 02 июня 2016, 19:08
Добрый вечер!
Уважаемый маэстро! Помогите мне еще раз со сносками, пожалуйста! Пыталась сама сделать с помощью замены, но что-то не получается.
Мне нужно, чтобы в сносках текст от самого знака сноски (внизу страницы, в самой сноске) отделялся неразрывным пробелом. У меня всегда отнимают время такие поиски. Даже в режиме черновик - ссылки - показать сноски получается очень долго и утомительно. Пример приложила. Желтым выделила, как нужно сделать.

[вложение удалено администратором]
Название: Re: Отделить знак сноски от цифры сноски
Отправлено: Администратор от 02 июня 2016, 19:44
Макрос
Sub Макрос()

    Dim enote As Endnote, rng As Range
   
    For Each enote In ActiveDocument.Endnotes
        ' Если есть неразрывный пробел, то ничего не делаем.
        If enote.Range.Paragraphs(1).Range.Characters(2).Text <> Chr(160) Then
            ' Если после номера есть обычный пробел.
            If enote.Range.Paragraphs(1).Range.Characters(2).Text = " " Then
                ' Пробелов может быть несколько.
                Set rng = enote.Range.Paragraphs(1).Range.Characters(2).Duplicate
                rng.MoveEndWhile Cset:=" "
                rng.Text = Chr(160)
            ' Если после номера нет обычного пробела.
            Else
                enote.Range.Paragraphs(1).Range.Characters(1).InsertAfter Text:=Chr(160)
            End If
        End If
    Next enote

End Sub
[свернуть]
Название: Re: Отделить знак сноски от цифры сноски
Отправлено: Svetik от 02 июня 2016, 21:43
Ура! Большое пребольшое спасибо!