Converting All Footnotes to Text (Chapter 7.2.3)
Post date: May 02, 2014 4:59:30 PM
Since self-publishing programs do not take kindly to Word footnotes, you need to convert all of them to text. One way is to convert them all to endnotes, then copy them to text. Word provides functions to convert all footnotes to endnotes and vice-verse.
AR: Click References | Footnotes dialog launcher (the tiny arrow in the bottom right corner of the Footnotes group.
BR: Click Insert | Reference | Footnotes.
In the Footnote and Endnote dialog box click [Convert].
Click the a radio button to convert footnotes to endnotes, endnotes to footnotes, or converting both to the other at the same time by clicking Swap footnotes and endnotes.
You can convert endnotes to text as described in chapter 7.2.3. If, instead, you want to change all footnotes to in-line text, the following code from techsupportforum.com will do the trick.
Sub ConvertFootNotesToText()
Dim afootnote As Footnote
ActiveDocument.Range.InsertParagraphAfter
Selection.GoTo What:=wdGoToLine, Which:=wdGoToLast
Selection.GoTo What:=wdGoToBookmark, Name:="\Para"
Selection.Style = wdStyleNormal
ActiveDocument.GoTo What:=wdGoToLine, Which:=wdGoToFirst
For Each afootnote In ActiveDocument.Footnotes
Selection.GoTo What:=wdGoToFootnote, Count:=afootnote.Index
Selection.GoTo What:=wdGoToBookmark, Name:="\HeadingLevel"
Selection.MoveEnd Unit:=wdCharacter, Count:=-1
Selection.Collapse Direction:=wdCollapseEnd
Selection.Range.InsertAfter _
vbCr & "x" & afootnote.Index & "x " & afootnote.Range
Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext
Selection.GoTo What:=wdGoToBookmark, Name:="\Para"
Selection.Style = wdStyleNormal
afootnote.Reference.InsertBefore "x" & afootnote.Index & "x"
Next afootnote
For Each afootnote In ActiveDocument.Footnotes
afootnote.Reference.Delete
Next afootnote
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find.Replacement.Font
.Superscript = True
End With
With Selection.Find
.Text = "(x)([0-9]{1,})(x)"
.Replacement.Text = "\2"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
ActiveDocument.GoTo What:=wdGoToLine, Which:=wdGoToFirst
End Sub
Depending on your regional settings the separator for wildcard occurrences may be a semi-colon. If the at the end you are left with reference numbers surrounded by "x," try "{1;}" instead of "{1,}."