![]() |
|
|
|
#1
|
||||
|
||||
|
This following is a function you could use to go to the right heading. You will need to pass in a string and the function will jump to the first heading that contains that string. The string can also be the heading number. Note I included a sub at the end to show how you might call the function.
Code:
Function GoToMyHeading(str As String)
Dim doc As Document
Dim vHeadings As Variant
Dim v As Variant
Dim i As Integer
Set doc = ActiveDocument
vHeadings = doc.GetCrossReferenceItems(wdRefTypeHeading)
i = 0
For Each v In vHeadings
i = i + 1
If InStr(v, str) > 0 Then
Selection.GoTo What:=wdGoToHeading, Which:=wdGoToAbsolute, Count:=i
Exit Function
End If
Next v
MsgBox "Couldn't find the heading containing: " & str
End Function
Sub GoToMyHeading_Test()
GoToMyHeading "3.2.1"
End Sub
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
|
#2
|
|||
|
|||
|
Andrew,
Awesome! The GetCrossReferencedItems/wdRefTypeHeading is the key! I need to read up on that a bit more. This might solve another problem for me too! Had to make two minor tweeks to your example code: If InStr(Trim(v), Trim(strTargetHeading)) = 1 Then added the Trim() and set the find location to one. The first test case I ran using "3.1" found "2.3.1". Thanks for the help! Don |
|
| Tags |
| heading numbering, search, vba |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
How to Restore Heading 1, Heading 2, etc. within a Word Document
|
cheech1981 | Word | 9 | 01-11-2017 02:14 AM |
Formula to open external file with specific program (like open with)
|
pemartins | Excel | 16 | 02-24-2014 11:39 PM |
Deleting A blank Line that has a specific heading style , word 2010 & 2013
|
SteveWcg | Word | 5 | 01-08-2014 10:37 PM |
Macro to replace one specific heading style with another
|
ubns | Word VBA | 44 | 09-04-2012 08:17 PM |
Using Hyperlink to open Word Document at Specific Header
|
rossi45 | Word | 2 | 05-04-2012 06:03 PM |