Microsoft Office Forums

Go Back   Microsoft Office Forums > >

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #9  
Old 01-17-2023, 01:49 PM
firstnamelast firstnamelast is offline Define custom Cross-reference output format to include "static" text and pg numbers Mac OS X Define custom Cross-reference output format to include "static" text and pg numbers Office 2016 for Mac
Novice
 
Join Date: Jan 2023
Posts: 1
firstnamelast is on a distinguished road
Default

Inspired by examples here and elsewhere, I created what I've wanted to have for ages
- ask for a section number (input box)
- enter a formatted cross-reference:
Quote:
section x.y.z 'name' (page xx)
Maybe it's useful for someone else too.
Keywords: VBA insert cross-reference formatted fields

Code:
Public Sub InsertParagraphReference()
'   code to ask for a paragraph reference (number)
'   and enter a formatted cross-reference (set of fields) in the document at current position

    Dim count As Integer
    Dim i As Integer
    Dim strSectionNumber As String
    Dim strHeader As String
    Dim myHeadings As Variant
    
    ' ask for number
    strSectionNumber = InputBox("Section number for formatted cross-reference", "Cross-reference")
        
    If Len(strSectionNumber) > 0 Then
        'get array of headings
        myHeadings = ActiveDocument.GetCrossReferenceItems(wdRefTypeNumberedItem)
        count = 0
        For i = 1 To UBound(myHeadings)
            'see if entered string is this heading
            strHeader = Trim(myHeadings(i))
            If Left(Trim(myHeadings(i)), Len(strSectionNumber)) = strSectionNumber Then
                count = count + 1
                'enter formatted cross-reference
                With Word.Selection
                    .InsertAfter "section "
                    .Collapse Direction:=wdCollapseEnd
                    'section number
                    .insertCrossReference _
                        ReferenceType:=wdRefTypeNumberedItem, _
                        ReferenceKind:=wdNumberFullContext, ReferenceItem:=i, _
                        InsertAsHyperlink:=True, IncludePosition:=False
                    .Collapse Direction:=wdCollapseEnd
                    'section header title'
                    .InsertAfter " '"
                    .Collapse Direction:=wdCollapseEnd
                    .insertCrossReference _
                        ReferenceType:=wdRefTypeNumberedItem, _
                        ReferenceKind:=wdContentText, ReferenceItem:=i, _
                        InsertAsHyperlink:=True, IncludePosition:=False
                    .Collapse Direction:=wdCollapseEnd
                    .InsertAfter "'"
                    .Collapse Direction:=wdCollapseEnd
                    'page number
                    .InsertAfter " (page "
                    .Collapse Direction:=wdCollapseEnd
                    .insertCrossReference _
                        ReferenceType:=wdRefTypeNumberedItem, _
                        ReferenceKind:=wdPageNumber, ReferenceItem:=i, _
                        InsertAsHyperlink:=True, IncludePosition:=False
                    .Collapse Direction:=wdCollapseEnd
                    .InsertAfter ")"
                    .Collapse Direction:=wdCollapseEnd
                End With
                Exit Sub
            End If
        Next i
        'notify if not found
        If count = 0 Then
            i = MsgBox("Could not find " & Chr(34) & strSectionNumber & Chr(34) & " as section number (enter in 'x.y.z' format)", vbOKOnly + vbExclamation)
        End If
    End If
End Sub
Reply With Quote
 



Similar Threads
Thread Thread Starter Forum Replies Last Post
Define custom Cross-reference output format to include "static" text and pg numbers Add static text to cross-reference tfa91 Word 7 10-09-2019 07:15 AM
Define custom Cross-reference output format to include "static" text and pg numbers Making cross-reference say "Fig." instead of "Figure" dgalb Word 17 11-09-2014 06:25 AM
Define custom Cross-reference output format to include "static" text and pg numbers Reference number and cross reference for equation numbers to match the thesis format wmac Word 1 05-14-2013 08:54 PM
Cross Reference Heading Number with the word "Section" included bblouin Word 5 12-20-2012 05:27 PM
Define custom Cross-reference output format to include "static" text and pg numbers Is there a way to make the cross-refernce format to be "Only lable and number"? Jamal NUMAN Word 1 04-10-2011 03:31 PM

Other Forums: Access Forums

All times are GMT -7. The time now is 07:04 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