Microsoft Office Forums

Go Back   Microsoft Office Forums > >

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #2  
Old 07-23-2021, 05:50 PM
Guessed's Avatar
Guessed Guessed is offline Placing numbers of cross-references of tables and figures inside parenthesis Windows 10 Placing numbers of cross-references of tables and figures inside parenthesis Office 2016
Expert
 
Join Date: Mar 2010
Location: Canberra/Melbourne Australia
Posts: 4,185
Guessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant future
Default

This appears to work with your sample docs. I would recommend testing it on A COPY of your real documents.
Code:
Sub RestrictXRefs()
  Dim aFld As Field, aRngXRef As Range, sWord As String, aRngAnchor As Range, sBkmk As String
  Dim arrCode() As String, aRng As Range
  For Each aFld In ActiveDocument.Fields
    If aFld.Type = wdFieldRef Then
      Set aRngXRef = aFld.Result
      sWord = LCase(Trim(aRngXRef.Words(1)))
      If sWord = "table" Or sWord = "figure" Then
        arrCode = Split(Trim(aFld.Code), " ")
        sBkmk = arrCode(1)
        If ActiveDocument.Bookmarks.Exists(sBkmk) Then
          Set aRngAnchor = ActiveDocument.Bookmarks(sBkmk).Range
          aRngAnchor.MoveStart Unit:=wdCharacter, Count:=Len(sWord) + 1
          ActiveDocument.Bookmarks.Add Name:=sBkmk, Range:=aRngAnchor
          aFld.Update
          aFld.Select
          Selection.Range.InsertBefore sWord & " ("
          Selection.Range.InsertAfter ")"
        End If
      End If
    End If
  Next aFld
End Sub
I'm happy to accept criticism and corrections to the Selection object I used. I was having trouble with the Range object insertbefore and insertafter (kept going inside the field result) so I took the unfortunate step of using Selection to get around that issue. This won't hurt your functionality but isn't the way I would prefer to do it.
__________________
Andrew Lockton
Chrysalis Design, Melbourne Australia
Reply With Quote
 

Tags
vba code, vba editor, word 19



Similar Threads
Thread Thread Starter Forum Replies Last Post
How to update Exhibits and related cross-references numbers automatically? Surendra Yadav Word 4 10-30-2018 03:02 PM
Placing numbers of cross-references of tables and figures inside parenthesis How to convert text that is enclosed inside parenthesis in a word document into numbered footnotes? BobT Word 5 07-27-2018 01:17 PM
How to cross reference figures or tables when option is not given timfoolery Word 4 06-12-2018 05:53 AM
Convert manual cross references in footnotes to other footnotes to automatic cross references ghumdinger Word VBA 7 11-20-2014 11:47 PM
accept only new page numbers and cross references in review mode guitargeorge Word 7 10-15-2013 03:32 PM

Other Forums: Access Forums

All times are GMT -7. The time now is 09:11 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft