Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 01-30-2015, 12:06 AM
Guessed's Avatar
Guessed Guessed is offline VBA to Open a Document to a Specific Heading Windows 7 32bit VBA to Open a Document to a Specific Heading Office 2010 32bit
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 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
Reply With Quote
  #2  
Old 02-02-2015, 02:19 PM
7mgte 7mgte is offline VBA to Open a Document to a Specific Heading Windows 7 64bit VBA to Open a Document to a Specific Heading Office 2010 64bit
Novice
VBA to Open a Document to a Specific Heading
 
Join Date: Jan 2015
Posts: 4
7mgte is on a distinguished road
Default Solved!

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
Reply With Quote
Reply

Tags
heading numbering, search, vba



Similar Threads
Thread Thread Starter Forum Replies Last Post
VBA to Open a Document to a Specific Heading How to Restore Heading 1, Heading 2, etc. within a Word Document cheech1981 Word 9 01-11-2017 02:14 AM
VBA to Open a Document to a Specific Heading Formula to open external file with specific program (like open with) pemartins Excel 16 02-24-2014 11:39 PM
VBA to Open a Document to a Specific Heading Deleting A blank Line that has a specific heading style , word 2010 & 2013 SteveWcg Word 5 01-08-2014 10:37 PM
VBA to Open a Document to a Specific Heading Macro to replace one specific heading style with another ubns Word VBA 44 09-04-2012 08:17 PM
VBA to Open a Document to a Specific Heading Using Hyperlink to open Word Document at Specific Header rossi45 Word 2 05-04-2012 06:03 PM

Other Forums: Access Forums

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