![]() |
|
|
|
#1
|
|||
|
|||
|
Quote:
Quote:
|
|
#2
|
|||
|
|||
|
As usual word can deliver most of what we want but not all.
The advice I provided above works BUT is not satisfactory as it is not possible to separate the label text from what appears in the caption. E.g. if you define a caption with Label 'Figure2' then what appears in the caption is 'Figure2' so you will get Figure2 1: Caption text blah blah blah So as I appear to have misled you please find below a macro that will go through your dissertationand insert the correct styleref in any Table/Figure/Equation caption. Word then correctly reproduces the additional numbering in cross references and TOC. Code:
Sub update_captions()
Dim my_field As Word.Field
For Each my_field In ActiveDocument.Fields
If my_field.Type = wdFieldSequence Then
insert_previous_heading_number my_field
End If
Next
End Sub
Sub insert_previous_heading_number(this_field As Word.Field)
Const styleref_text As String = "Styleref ""XX"" \r "
Dim styleref_range As Word.range
Set styleref_range = this_field.result
With this_field.Code
If InStr(.Text, "Table") = 0 And InStr(.Text, "Figure") = 0 And InStr(.Text, "Equation") = 0 Then
Exit Sub ' DO nothing
End If
End With
If this_field.result.Previous(unit:=wdCharacter).Text = "-" Then
styleref_range.MoveStart Count:=-2
styleref_range.Fields(1).Delete
styleref_range.Collapse Direction:=wdCollapseStart
Else
styleref_range.Move Count:=-1
styleref_range.InsertBefore Text:="-"
styleref_range.Collapse Direction:=wdCollapseStart
End If
styleref_range.Fields.Add _
range:=styleref_range, _
Type:=wdFieldEmpty, _
Text:=replace(styleref_text, "XX", CStr(get_previous_heading_level(this_field.result))), _
PreserveFormatting:=False
End Sub
Function get_previous_heading_level(ByVal this_range As Word.range) As Long
Do While this_range.ParagraphFormat.OutlineLevel = wdOutlineLevelBodyText
Set this_range = this_range.Previous(unit:=wdParagraph)
Loop
get_previous_heading_level = this_range.ParagraphFormat.OutlineLevel
End Function
And of course, please test the macro on a COPY of your dissertation. |
|
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| List of figures with several labels (caption) - Table of Figures sorting | ibra_ca | Word | 2 | 10-11-2017 07:02 AM |
Automated numbering for Figures in Word 2010?
|
JJH | Word | 4 | 04-14-2016 08:39 AM |
| Automatic table of figures includes one of the figures, not just the caption - help! | sarahlt | Word | 1 | 09-28-2014 09:34 AM |
Problem with captions for equations and figures in my Ph.D thesis.
|
NoBolts | Word | 1 | 12-08-2012 09:58 PM |
| Numbering equations | Yonnif | Word | 1 | 12-01-2010 03:37 AM |