View Single Post
 
Old 01-04-2023, 10:04 PM
BrianHoard BrianHoard is offline Windows 10 Office 2019
Advanced Beginner
 
Join Date: Jul 2022
Location: Haymarket, VA USA
Posts: 85
BrianHoard is on a distinguished road
Default

I just created this as I see that Macropod already answered you. So here's my attempt in case it helps.
This method checks that each marker text is within your selection range, and if so, prints the endnote number.

Code:
Sub selectedEndnotes()
  ' Loop through selected endnotes.
  
  Dim eNotes As Endnotes
  Dim eNote As Endnote
  Dim rng_selected As Range
  Dim rng_marker As Range
  
  Set eNotes = ActiveDocument.Endnotes
  Set rng_selected = Selection.Range
  
  ' If nothing is selected, show a message
  If rng_selected.Start = rng_selected.End Then
    MsgBox "Please make a selection."
  End If
  
  Debug.Print ("The following endnotes are in selection:")
   
  For Each eNote In eNotes
    Set rng_marker = eNote.Reference.Characters.First ' Get marker range
    ' Only process endnotes whose marker .Start is between selection range.
    If rng_marker.Start >= rng_selected.Start And rng_marker.End <= rng_selected.End Then
      ' ---- Do whatever you're going to do to each endnote here. ---
      Debug.Print (eNote.Index)
    End If
  Next eNote

End Sub
Reply With Quote