Adziu <vitalio@vp.pl> napisał(a):
> Mam dokument w którym utworzony został spis treści, dość obszerny bo aż na
6
> stron. Chciałem aby z tego spisu treści można było przechodzić do
> określonego punktu w dokumencie. To nie problem. Ale problem pojawia się
gdy
> chcę przejść z dowolnego punktu w dokumencie do tego samego punktu w
spisie
> treści. Spis treści widziany jest jako całość i trzeba by było sformatować
> go jako styl nagłowek1, ale wtedy spis treści staje się mało elegancki (
nie
> jest wyjustowany) i w razie jakichkolwiek aktualizacji trzeba od nowa
> zmieniać formatowanie spisu treści. Czy jest na to sposób i ktoś mógłby mi
> pomóc.
Możesz użyć takiego makra:
Sub PrzejdźDoSpisuTreści()
Dim spis As Range
Dim i As Long, j As Long
Dim kod As String
Dim zakładka As String
Dim zakres As Range
Dim pozycja As Long
For i = 1 To ActiveDocument.Fields.Count
If Left(Trim(ActiveDocument.Fields(i).Code), 3) = "TOC" Then
For j = 1 To ActiveDocument.Fields(i).Result.Fields.Count
kod = Trim(ActiveDocument.Fields(i).Result.Fields(j).Code)
If Left(kod, 9) = "HYPERLINK" Then
pozycja = InStr(1, kod, """")
zakładka = Mid(kod, pozycja + 1, InStr(pozycja + 1, kod, """") _
- pozycja - 1)
If ActiveDocument.Bookmarks(zakładka).Range.Start <= _
Selection.Start Then
Set zakres = ActiveDocument.Fields(i).Result.Fields(j).Result
End If
End If
Next
zakres.Select
Exit For
End If
Next
End Sub
Pozdrowienia
pxd74