PDA

View Full Version : Convert Footnotes to Hard Text ???


January 14th 05, 02:11 AM
I've got a long document with a bazillion footnotes. I'd like to
convert them to hard-coded text. How do I do that?

<*((((><{

Klaus Linke
January 14th 05, 04:21 PM
"<*((((><{" > schrieb im Newsbeitrag ...
> I've got a long document with a bazillion footnotes. I'd like to
> convert them to hard-coded text. How do I do that?
>
> <*((((><{
>


Hi <*((((><{

Below's the macro I have been using...
Maybe you can improve on it a bit, or adapt it to your needs.

Greetings,
Klaus



Sub footnotestrip()
Dim afootnote As Footnote
Dim NumberOfFootnotes As Integer
Dim i As Integer
Dim aFootnoteReference As String
Dim aFootnoteRefTag As String
NumberOfFootnotes = ActiveDocument.Footnotes.Count
For i = NumberOfFootnotes To 1 Step -1
Set afootnote = ActiveDocument.Footnotes(i)
afootnote.Range.Select
Selection.MoveStartWhile Cset:=" " & Chr(9)
Selection.Cut
aFootnoteReference = afootnote.Reference.Text
Select Case aFootnoteReference
Case Chr(2)
aFootnoteRefTag = "<FNZ>"
Case "*"
aFootnoteRefTag = "<FNS>"
Case Else
aFootnoteRefTag = "<FNRef>" _
& aFootnoteReference & "</FNRef>"
End Select
afootnote.Reference.Select
If afootnote.Reference.Text = Chr(40) Then
With Dialogs(wdDialogInsertSymbol)
aFootnoteRefTag = _
"<FNSym," & .Font & "," _
& .CharNum & ">"
End With
End If
afootnote.Delete
Selection.InsertBefore "<FN>" _
& aFootnoteRefTag
Selection.Collapse (wdCollapseEnd)
Selection.Paste
Selection.InsertAfter "</FN>"
Next i
End Sub

January 18th 05, 01:56 AM
Thanks, Klaus -- I'll give it a try.

<*((((><{




In the last exciting episode on Fri, 14 Jan 2005 17:21:51 +0100,
"Klaus Linke" > wrote:

|"<*((((><{" > schrieb im Newsbeitrag ...
|> I've got a long document with a bazillion footnotes. I'd like to
|> convert them to hard-coded text. How do I do that?
|>
|> <*((((><{
|>
|
|
|Hi <*((((><{
|
|Below's the macro I have been using...
|Maybe you can improve on it a bit, or adapt it to your needs.
|
|Greetings,
|Klaus
|
|
|
|Sub footnotestrip()
| Dim afootnote As Footnote
| Dim NumberOfFootnotes As Integer
| Dim i As Integer
| Dim aFootnoteReference As String
| Dim aFootnoteRefTag As String
| NumberOfFootnotes = ActiveDocument.Footnotes.Count
| For i = NumberOfFootnotes To 1 Step -1
| Set afootnote = ActiveDocument.Footnotes(i)
| afootnote.Range.Select
| Selection.MoveStartWhile Cset:=" " & Chr(9)
| Selection.Cut
| aFootnoteReference = afootnote.Reference.Text
| Select Case aFootnoteReference
| Case Chr(2)
| aFootnoteRefTag = "<FNZ>"
| Case "*"
| aFootnoteRefTag = "<FNS>"
| Case Else
| aFootnoteRefTag = "<FNRef>" _
| & aFootnoteReference & "</FNRef>"
| End Select
| afootnote.Reference.Select
| If afootnote.Reference.Text = Chr(40) Then
| With Dialogs(wdDialogInsertSymbol)
| aFootnoteRefTag = _
| "<FNSym," & .Font & "," _
| & .CharNum & ">"
| End With
| End If
| afootnote.Delete
| Selection.InsertBefore "<FN>" _
| & aFootnoteRefTag
| Selection.Collapse (wdCollapseEnd)
| Selection.Paste
| Selection.InsertAfter "</FN>"
| Next i
|End Sub
|

Doug Robbins
January 19th 05, 02:41 AM
The following would also work for footnotes, but it places them at the end
of the document, not at the foot of each page.



' Macro created 29/09/99 by Doug Robbins to replace endnotes with textnotes
at end of document

' to replace the endnote reference in the body of the document with a
superscript number.

'

Dim aendnote As Endnote

For Each aendnote In ActiveDocument.Endnotes

ActiveDocument.Range.InsertAfter vbCr & aendnote.Index & vbTab &
aendnote.Range

aendnote.Reference.InsertBefore "a" & aendnote.Index & "a"

Next aendnote

For Each aendnote In ActiveDocument.Endnotes

aendnote.Reference.Delete

Next aendnote

Selection.Find.ClearFormatting

Selection.Find.Replacement.ClearFormatting

With Selection.Find.Replacement.Font

.Superscript = True

End With

With Selection.Find

.Text = "(a)([0-9]{1,})(a)"

.Replacement.Text = "\2"

.Forward = True

.Wrap = wdFindContinue

.Format = True

.MatchWildcards = True

End With

Selection.Find.Execute Replace:=wdReplaceAll

--
Please respond to the Newsgroup for the benefit of others who may be
interested. Questions sent directly to me will only be answered on a paid
consulting basis.

Hope this helps,
Doug Robbins - Word MVP
"<*((((><{" > wrote in message
...
> Thanks, Klaus -- I'll give it a try.
>
> <*((((><{
>
>
>
>
> In the last exciting episode on Fri, 14 Jan 2005 17:21:51 +0100,
> "Klaus Linke" > wrote:
>
> |"<*((((><{" > schrieb im Newsbeitrag
> ...
> |> I've got a long document with a bazillion footnotes. I'd like to
> |> convert them to hard-coded text. How do I do that?
> |>
> |> <*((((><{
> |>
> |
> |
> |Hi <*((((><{
> |
> |Below's the macro I have been using...
> |Maybe you can improve on it a bit, or adapt it to your needs.
> |
> |Greetings,
> |Klaus
> |
> |
> |
> |Sub footnotestrip()
> | Dim afootnote As Footnote
> | Dim NumberOfFootnotes As Integer
> | Dim i As Integer
> | Dim aFootnoteReference As String
> | Dim aFootnoteRefTag As String
> | NumberOfFootnotes = ActiveDocument.Footnotes.Count
> | For i = NumberOfFootnotes To 1 Step -1
> | Set afootnote = ActiveDocument.Footnotes(i)
> | afootnote.Range.Select
> | Selection.MoveStartWhile Cset:=" " & Chr(9)
> | Selection.Cut
> | aFootnoteReference = afootnote.Reference.Text
> | Select Case aFootnoteReference
> | Case Chr(2)
> | aFootnoteRefTag = "<FNZ>"
> | Case "*"
> | aFootnoteRefTag = "<FNS>"
> | Case Else
> | aFootnoteRefTag = "<FNRef>" _
> | & aFootnoteReference & "</FNRef>"
> | End Select
> | afootnote.Reference.Select
> | If afootnote.Reference.Text = Chr(40) Then
> | With Dialogs(wdDialogInsertSymbol)
> | aFootnoteRefTag = _
> | "<FNSym," & .Font & "," _
> | & .CharNum & ">"
> | End With
> | End If
> | afootnote.Delete
> | Selection.InsertBefore "<FN>" _
> | & aFootnoteRefTag
> | Selection.Collapse (wdCollapseEnd)
> | Selection.Paste
> | Selection.InsertAfter "</FN>"
> | Next i
> |End Sub
> |
>

Google