Consulting

Results 1 to 2 of 2

Thread: Get footnote reference

  1. #1
    VBAX Regular
    Joined
    Nov 2011
    Posts
    71
    Location

    Get footnote reference

    Hi everyone,

    I am struggling to find a "simple information" on a footnote.
    I need to get the reference character that is used for a given footnote. Say a Word doc has many footnotes/endnotes, I already have a macro that plays in them, but for every note, the macro has to display the original reference (in a msgbox for now), so say 1, 2, 3, 4, or a, b, c, or whatever symbol is used to call the footnote.
    I found this thread http://www.vbaexpress.com/forum/show...Reference-Text which gives interesting information, but I couldn't extract exactly what I need.

    Using the code given by macropod in this thread, I found that this code would copy the reference mark next to the original one, and then nRef would give me the symbol that was used... But I don't actually want/need to copy the reference, I just want to know what it is! aFN.Index won't give me this information... and I can't find an equivalent "GetCrossReference" function that seems to work (not sure how to play with GetCrossReferenceItems, if that's the one)...
    Please advise!


    For Each aFN In ActiveDocument.Footnotes
            Dim nRef As String
            With aFN
                With .Reference.Characters.First
                    .Collapse
                    .InsertCrossReference wdRefTypeFootnote, wdFootnoteNumberFormatted, aFN.Index
                    nRef = .Characters.First.Fields(1).Result 'this does give me the information I need, but not without using the line above
                    MsgBox nRef
                End With
            End With
    Next aFN
    Thanks for helping me...

    Glencoe
    Last edited by glencoe; 04-06-2015 at 07:53 AM.

  2. #2
    VBAX Regular
    Joined
    Nov 2011
    Posts
    71
    Location
    Based on initial macropod's idea from the other thread I referenced in my first post, I found a trick that works. Ok, it may not be ideal, but it does work, and that's all I am asking!


    Dim aFN As Footnote
    Dim nRef As String
        
    For Each aFN In ActiveDocument.Footnotes
            With aFN
                With .Reference.Characters.First
                    .Collapse
                    .InsertCrossReference wdRefTypeFootnote, wdFootnoteNumberFormatted, aFN.Index
                    nRef = .Characters.First.Fields(1).Result
                    .Characters.Last.Fields(1).Delete
                    MsgBox nRef
                End With
            End With
    Next aFN
    If anyone has a better and cleaner idea than inserting and deleting the reference next to the original one, I'd like to hear it, but it seems that this same request is not quite knew and has already hit many walls (I just found while googling similar key terms that many people have asked the same question over the past 10 years, without finding any real solution)...


    Now, even though he hasn't participated to this thread yet, I'd like to thank macropod for leading me to a working solution! The "insert" method he offered in the other post was a clever way to bypass the issue...

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •