If I may come back to this old topic: I'm trying it out right now. I'm looking for a more specific string of text.
But when I try to execute the macro, it gives me an error 5560, and error detection (or whatever it's called in English) highlights this line for me:
Do While .Execute = True
What could be wrong with that?
I've modified the macro to look like this, to search for the texts I'd like to change into endnotes (i.e. texts like [EINDNOOT 1], where only the figure ever changes.
(I'd really appreciate any help -- it's to get Word to fix a faulty manual notation for endnotes, where both me and the source text of my translation made some errors in the numbering. I hope converting the manual notations to real Word endnotes will fix the numbering. I can always convert back to plain text if need be -- I hope.)
Quote:
Sub MakeEndNotes()
Dim RngSel As Range, RngFnd As Range, StrNote As String
Application.ScreenUpdating = False
With Selection
Set RngSel = .Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.MatchWildcards = True
.Wrap = wdFindContinue
.Forward = True
.Text = "\[EINDNOOT [0-9]{1;3}(\]"
Do While .Execute = True
Set RngFnd = ActiveDocument.Range(Start:=Selection.Start, End:=Selection.End)
StrNote = Mid(RngFnd.Text, 2, Len(RngFnd.Text) - 2)
ActiveDocument.Endnotes.Add RngFnd, , StrNote
RngFnd.Text = vbNullString
Loop
End With
End With
RngSel.Select
Set RngFnd = Nothing: Set RngSel = Nothing
Application.ScreenUpdating = True
End Sub
|
Oh, and quick question: does this macro create endnotes numbered 1,2,3, &c? Because that's really what I need.
(I can do some stuff with search and replace and macros, but I don't know enough about Word's macro language to understand all of the codes in this macro.)