Макрос нормализации сносок
Сноски и примечания в текстах, размещенных на этом сайте, имеют следующий формат:
.... [n]......
...[n+1]......
...
{n ... }
{n+1 ...}
В квадратных скобках номер сноски, в фигурных ее текст. Обычно я помещаю текст сносок под абзац, в котором они встречаются. По просьбе посетителей сайта помещаю макрос, который такие сноски преобразует в "обычные" постраничные примечания. Вставьте этот макрос в свой Word, возьмите текст с сайта и запускайте макрос.
Этот макрос также удобно использовать при вычитке. Вычитав страницу, и оформив примечения, как указано выше (нумерация при этом не важна), запускайте макрос: он найдей все примечания и преобразует их. Нумерация при этом будет сквозная во всем тексте.
' ПравильныеСноски() Макрос
'
'
StartNumber = InputBox("Начальный номер сноски")
EndNumber = InputBox("Конечный номер сноски")
For i = StartNumber To EndNumber
Selection.Find.ClearFormatting
With Selection.Find
.Text = "\{" + CStr(i) + " *\}^0013"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute
Selection.Text = Replace(Selection.Text, "{", "")
Selection.Text = Replace(Selection.Text, "}", "")
Selection.Cut
Selection.Find.ClearFormatting
With Selection.Find
.Text = "[" + CStr(i) + "]"
.Replacement.Text = ""
.Forward = False
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
With Selection
With .FootnoteOptions
.Location = wdEndOfDocument
.NumberingRule = wdRestartContinuous
.StartingNumber = 1
.NumberStyle = wdNoteNumberStyleArabic
End With
.Footnotes.Add Range:=Selection.Range, Reference:=""
End With
Selection.PasteAndFormat (wdPasteDefault)
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
With Selection.Find
.Text = "[" + CStr(i) + "]"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.Cut
Next
MsgBox ("Все!")
End Sub